git.iko.soy/typeable/cabal2nix
on master help sign in
740 files changed+38662−1174
since splitsnapshots
unifiedsplit
.gitignore+9−10 .travis.yml+149−59 README.md+15−38 Setup.hs+6 Setup.lhs−40 cabal2nix.cabal+143−173 cabal2nix/Main.hs+2−161 doc/01-use-function-application-to-escape-override-hell.md+1−1 doc/hal8-folien.md+1−1 doc/hal8.md+1−1 doc/nixcon-2015-slides.md+1−1 doc/nixos-meetup-3-slides.md+4−4 hackage2nix/HackageGit.hs+15−23 hackage2nix/Main.hs+31−18 hackage2nix/README.md+36 package.yaml−131 src/Cabal2nix.hs+276 src/Distribution/Nixpkgs/Fetch.hs+50−12 src/Distribution/Nixpkgs/Haskell/BuildInfo.hs+7−2 src/Distribution/Nixpkgs/Haskell/Constraint.hs+1−1 src/Distribution/Nixpkgs/Haskell/Derivation.hs+30−23 src/Distribution/Nixpkgs/Haskell/FromCabal.hs+82−43 src/Distribution/Nixpkgs/Haskell/FromCabal/Configuration.hs+29−32 src/Distribution/Nixpkgs/Haskell/FromCabal/Flags.hs+32−21 src/Distribution/Nixpkgs/Haskell/FromCabal/License.hs+166−26 src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs+79−59 src/Distribution/Nixpkgs/Haskell/FromCabal/Normalize.hs+9−23 src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs+185−103 src/Distribution/Nixpkgs/Haskell/Hackage.hs+41−25 src/Distribution/Nixpkgs/Haskell/OrphanInstances.hs+32−60 src/Distribution/Nixpkgs/Haskell/PackageSourceSpec.hs+181−66 test/Main.hs+122 test/golden-test-cases/.gitignore+1 test/golden-test-cases/ChasingBottoms.cabal+185 test/golden-test-cases/ChasingBottoms.nix.golden+16 test/golden-test-cases/Clipboard.cabal+55 test/golden-test-cases/Clipboard.nix.golden+10 test/golden-test-cases/FenwickTree.cabal+41 test/golden-test-cases/FenwickTree.nix.golden+12 test/golden-test-cases/GPipe-GLFW.cabal+51 test/golden-test-cases/GPipe-GLFW.nix.golden+12 test/golden-test-cases/GenericPretty.cabal+99 test/golden-test-cases/GenericPretty.nix.golden+10 test/golden-test-cases/HPDF.cabal+97 test/golden-test-cases/HPDF.nix.golden+16 test/golden-test-cases/HTF.cabal+197 test/golden-test-cases/HTF.nix.golden+31 test/golden-test-cases/HTTP.cabal+182 test/golden-test-cases/HTTP.nix.golden+21 test/golden-test-cases/Hclip.cabal+55 test/golden-test-cases/Hclip.nix.golden+10 test/golden-test-cases/MissingH.cabal+131 test/golden-test-cases/MissingH.nix.golden+22 test/golden-test-cases/ObjectName.cabal+34 test/golden-test-cases/ObjectName.nix.golden+10 test/golden-test-cases/Only.cabal+32 test/golden-test-cases/Only.nix.golden+9 test/golden-test-cases/QuasiText.cabal+20 test/golden-test-cases/QuasiText.nix.golden+15 test/golden-test-cases/QuickCheck.cabal+171 test/golden-test-cases/QuickCheck.nix.golden+16 test/golden-test-cases/ReadArgs.cabal+110 test/golden-test-cases/ReadArgs.nix.golden+14 test/golden-test-cases/SHA.cabal+130 test/golden-test-cases/SHA.nix.golden+17 test/golden-test-cases/Strafunski-StrategyLib.cabal+59 test/golden-test-cases/Strafunski-StrategyLib.nix.golden+9 test/golden-test-cases/accelerate-fftw.cabal+41 test/golden-test-cases/accelerate-fftw.nix.golden+14 test/golden-test-cases/accelerate.cabal+412 test/golden-test-cases/accelerate.nix.golden+18 test/golden-test-cases/active.cabal+44 test/golden-test-cases/active.nix.golden+16 test/golden-test-cases/adjunctions.cabal+72 test/golden-test-cases/adjunctions.nix.golden+17 test/golden-test-cases/aeson-diff.cabal+118 test/golden-test-cases/aeson-diff.nix.golden+26 test/golden-test-cases/aeson-pretty.cabal+74 test/golden-test-cases/aeson-pretty.nix.golden+20 test/golden-test-cases/algebraic-graphs.cabal+142 test/golden-test-cases/algebraic-graphs.nix.golden+14 test/golden-test-cases/amazonka-cloudtrail.cabal+99 test/golden-test-cases/amazonka-cloudtrail.nix.golden+16 test/golden-test-cases/amazonka-cloudwatch-logs.cabal+118 test/golden-test-cases/amazonka-cloudwatch-logs.nix.golden+16 test/golden-test-cases/amazonka-codedeploy.cabal+123 test/golden-test-cases/amazonka-codedeploy.nix.golden+16 test/golden-test-cases/amazonka-cognito-idp.cabal+168 test/golden-test-cases/amazonka-cognito-idp.nix.golden+16 test/golden-test-cases/amazonka-ecs.cabal+116 test/golden-test-cases/amazonka-ecs.nix.golden+16 test/golden-test-cases/amazonka-kms.cabal+120 test/golden-test-cases/amazonka-kms.nix.golden+16 test/golden-test-cases/amazonka-lightsail.cabal+133 test/golden-test-cases/amazonka-lightsail.nix.golden+16 test/golden-test-cases/amazonka-route53-domains.cabal+109 test/golden-test-cases/amazonka-route53-domains.nix.golden+16 test/golden-test-cases/amazonka-waf.cabal+144 test/golden-test-cases/amazonka-waf.nix.golden+16 test/golden-test-cases/api-field-json-th.cabal+40 test/golden-test-cases/api-field-json-th.nix.golden+15 test/golden-test-cases/app-settings.cabal+138 test/golden-test-cases/app-settings.nix.golden+17 test/golden-test-cases/apply-refact.cabal+96 test/golden-test-cases/apply-refact.nix.golden+29 test/golden-test-cases/async.cabal+64 test/golden-test-cases/async.nix.golden+15 test/golden-test-cases/attoparsec-expr.cabal+28 test/golden-test-cases/attoparsec-expr.nix.golden+9 test/golden-test-cases/attoparsec-time.cabal+84 test/golden-test-cases/attoparsec-time.nix.golden+19 test/golden-test-cases/avers-server.cabal+55 test/golden-test-cases/avers-server.nix.golden+21 test/golden-test-cases/aws.cabal+430 test/golden-test-cases/aws.nix.golden+35 test/golden-test-cases/bbdb.cabal+54 test/golden-test-cases/bbdb.nix.golden+11 test/golden-test-cases/benchpress.cabal+41 test/golden-test-cases/benchpress.nix.golden+13 test/golden-test-cases/binary-bits.cabal+44 test/golden-test-cases/binary-bits.nix.golden+15 test/golden-test-cases/binary-tagged.cabal+121 test/golden-test-cases/binary-tagged.nix.golden+30 test/golden-test-cases/bindings-uname.cabal+30 test/golden-test-cases/bindings-uname.nix.golden+9 test/golden-test-cases/bioalign.cabal+23 test/golden-test-cases/bioalign.nix.golden+10 test/golden-test-cases/bits.cabal+73 test/golden-test-cases/bits.nix.golden+14 test/golden-test-cases/blank-canvas.cabal+172 test/golden-test-cases/blank-canvas.nix.golden+23 test/golden-test-cases/blaze-html.cabal+87 test/golden-test-cases/blaze-html.nix.golden+20 test/golden-test-cases/blaze-markup.cabal+67 test/golden-test-cases/blaze-markup.nix.golden+17 test/golden-test-cases/blaze-svg.cabal+54 test/golden-test-cases/blaze-svg.nix.golden+10 test/golden-test-cases/blosum.cabal+48 test/golden-test-cases/blosum.nix.golden+20 test/golden-test-cases/boomerang.cabal+45 test/golden-test-cases/boomerang.nix.golden+9 test/golden-test-cases/boxes.cabal+35 test/golden-test-cases/boxes.nix.golden+10 test/golden-test-cases/brittany.cabal+372 test/golden-test-cases/brittany.nix.golden+38 test/golden-test-cases/broadcast-chan.cabal+53 test/golden-test-cases/broadcast-chan.nix.golden+10 test/golden-test-cases/butcher.cabal+157 test/golden-test-cases/butcher.nix.golden+16 test/golden-test-cases/bzlib.cabal+47 test/golden-test-cases/bzlib.nix.golden+10 test/golden-test-cases/case-insensitive.cabal+73 test/golden-test-cases/case-insensitive.nix.golden+16 test/golden-test-cases/cassava-conduit.cabal+79 test/golden-test-cases/cassava-conduit.nix.golden+20 test/golden-test-cases/cassette.cabal+28 test/golden-test-cases/cassette.nix.golden+9 test/golden-test-cases/cereal-text.cabal+38 test/golden-test-cases/cereal-text.nix.golden+10 test/golden-test-cases/cheapskate.cabal+81 test/golden-test-cases/cheapskate.nix.golden+19 test/golden-test-cases/chell.cabal+88 test/golden-test-cases/chell.nix.golden+15 test/golden-test-cases/clumpiness.cabal+72 test/golden-test-cases/clumpiness.nix.golden+9 test/golden-test-cases/code-page.cabal+60 test/golden-test-cases/code-page.nix.golden+11 test/golden-test-cases/colorize-haskell.cabal+33 test/golden-test-cases/colorize-haskell.nix.golden+13 test/golden-test-cases/countable.cabal+78 test/golden-test-cases/countable.nix.golden+15 test/golden-test-cases/cpu.cabal+81 test/golden-test-cases/cpu.nix.golden+13 test/golden-test-cases/criterion.cabal+218 test/golden-test-cases/criterion.nix.golden+31 test/golden-test-cases/crypt-sha512.cabal+60 test/golden-test-cases/crypt-sha512.nix.golden+19 test/golden-test-cases/crypto-random-api.cabal+23 test/golden-test-cases/crypto-random-api.nix.golden+10 test/golden-test-cases/csv.cabal+23 test/golden-test-cases/csv.nix.golden+9 test/golden-test-cases/data-accessor.cabal+128 test/golden-test-cases/data-accessor.nix.golden+10 test/golden-test-cases/data-default-instances-containers.cabal+18 test/golden-test-cases/data-default-instances-containers.nix.golden+9 test/golden-test-cases/data-endian.cabal+30 test/golden-test-cases/data-endian.nix.golden+10 test/golden-test-cases/data-msgpack.cabal+114 test/golden-test-cases/data-msgpack.nix.golden+26 test/golden-test-cases/data-serializer.cabal+60 test/golden-test-cases/data-serializer.nix.golden+17 test/golden-test-cases/deque.cabal+45 test/golden-test-cases/deque.nix.golden+10 test/golden-test-cases/dhall-bash.cabal+54 test/golden-test-cases/dhall-bash.nix.golden+20 test/golden-test-cases/diagrams-solve.cabal+42 test/golden-test-cases/diagrams-solve.nix.golden+15 test/golden-test-cases/discrimination.cabal+76 test/golden-test-cases/discrimination.nix.golden+22 test/golden-test-cases/dotenv.cabal+153 test/golden-test-cases/dotenv.nix.golden+27 test/golden-test-cases/dotnet-timespan.cabal+79 test/golden-test-cases/dotnet-timespan.nix.golden+10 test/golden-test-cases/dpor.cabal+74 test/golden-test-cases/dpor.nix.golden+14 test/golden-test-cases/drawille.cabal+102 test/golden-test-cases/drawille.nix.golden+13 test/golden-test-cases/drifter-postgresql.cabal+63 test/golden-test-cases/drifter-postgresql.nix.golden+19 test/golden-test-cases/ede.cabal+110 test/golden-test-cases/ede.nix.golden+25 test/golden-test-cases/ekg-cloudwatch.cabal+46 test/golden-test-cases/ekg-cloudwatch.nix.golden+16 test/golden-test-cases/emailaddress.cabal+49 test/golden-test-cases/emailaddress.nix.golden+19 test/golden-test-cases/envelope.cabal+38 test/golden-test-cases/envelope.nix.golden+13 test/golden-test-cases/eventful-sqlite.cabal+69 test/golden-test-cases/eventful-sqlite.nix.golden+21 test/golden-test-cases/exact-pi.cabal+35 test/golden-test-cases/exact-pi.nix.golden+10 test/golden-test-cases/expiring-cache-map.cabal+108 test/golden-test-cases/expiring-cache-map.nix.golden+17 test/golden-test-cases/explicit-exception.cabal+124 test/golden-test-cases/explicit-exception.nix.golden+12 test/golden-test-cases/fdo-notify.cabal+26 test/golden-test-cases/fdo-notify.nix.golden+10 test/golden-test-cases/fgl.cabal+134 test/golden-test-cases/fgl.nix.golden+15 test/golden-test-cases/file-modules.cabal+46 test/golden-test-cases/file-modules.nix.golden+21 test/golden-test-cases/fingertree.cabal+59 test/golden-test-cases/fingertree.nix.golden+15 test/golden-test-cases/fixed-vector.cabal+87 test/golden-test-cases/fixed-vector.nix.golden+12 test/golden-test-cases/fixed.cabal+32 test/golden-test-cases/fixed.nix.golden+10 test/golden-test-cases/foundation.cabal+280 test/golden-test-cases/foundation.nix.golden+12 test/golden-test-cases/frisby.cabal+37 test/golden-test-cases/frisby.nix.golden+10 test/golden-test-cases/funcmp.cabal+92 test/golden-test-cases/funcmp.nix.golden+11 test/golden-test-cases/functor-classes-compat.cabal+147 test/golden-test-cases/functor-classes-compat.nix.golden+14 test/golden-test-cases/general-games.cabal+53 test/golden-test-cases/general-games.nix.golden+15 test/golden-test-cases/generic-lens.cabal+123 test/golden-test-cases/generic-lens.nix.golden+16 test/golden-test-cases/genvalidity-aeson.cabal+51 test/golden-test-cases/genvalidity-aeson.nix.golden+21 test/golden-test-cases/genvalidity-hspec-aeson.cabal+63 test/golden-test-cases/genvalidity-hspec-aeson.nix.golden+20 test/golden-test-cases/genvalidity-hspec-binary.cabal+59 test/golden-test-cases/genvalidity-hspec-binary.nix.golden+15 test/golden-test-cases/genvalidity-scientific.cabal+48 test/golden-test-cases/genvalidity-scientific.nix.golden+17 test/golden-test-cases/genvalidity-uuid.cabal+48 test/golden-test-cases/genvalidity-uuid.nix.golden+17 test/golden-test-cases/ghc-syb-utils.cabal+51 test/golden-test-cases/ghc-syb-utils.nix.golden+13 test/golden-test-cases/ghcid.cabal+117 test/golden-test-cases/ghcid.nix.golden+25 test/golden-test-cases/giphy-api.cabal+94 test/golden-test-cases/giphy-api.nix.golden+24 test/golden-test-cases/github.cabal+202 test/golden-test-cases/github.nix.golden+30 test/golden-test-cases/gl.cabal+917 test/golden-test-cases/gl.nix.golden+17 test/golden-test-cases/gogol-adexchange-buyer.cabal+85 test/golden-test-cases/gogol-adexchange-buyer.nix.golden+11 test/golden-test-cases/gogol-admin-emailmigration.cabal+46 test/golden-test-cases/gogol-admin-emailmigration.nix.golden+11 test/golden-test-cases/gogol-affiliates.cabal+55 test/golden-test-cases/gogol-affiliates.nix.golden+11 test/golden-test-cases/gogol-apps-tasks.cabal+59 test/golden-test-cases/gogol-apps-tasks.nix.golden+11 test/golden-test-cases/gogol-appstate.cabal+50 test/golden-test-cases/gogol-appstate.nix.golden+11 test/golden-test-cases/gogol-blogger.cabal+82 test/golden-test-cases/gogol-blogger.nix.golden+11 test/golden-test-cases/gogol-datastore.cabal+52 test/golden-test-cases/gogol-datastore.nix.golden+11 test/golden-test-cases/gogol-dfareporting.cabal+249 test/golden-test-cases/gogol-dfareporting.nix.golden+11 test/golden-test-cases/gogol-firebase-rules.cabal+56 test/golden-test-cases/gogol-firebase-rules.nix.golden+11 test/golden-test-cases/gogol-gmail.cabal+102 test/golden-test-cases/gogol-gmail.nix.golden+11 test/golden-test-cases/gogol-kgsearch.cabal+46 test/golden-test-cases/gogol-kgsearch.nix.golden+11 test/golden-test-cases/gogol-maps-engine.cabal+123 test/golden-test-cases/gogol-maps-engine.nix.golden+11 test/golden-test-cases/gogol-plus.cabal+54 test/golden-test-cases/gogol-plus.nix.golden+11 test/golden-test-cases/gogol-resourceviews.cabal+61 test/golden-test-cases/gogol-resourceviews.nix.golden+11 test/golden-test-cases/gogol-translate.cabal+48 test/golden-test-cases/gogol-translate.nix.golden+11 test/golden-test-cases/gogol-webmaster-tools.cabal+58 test/golden-test-cases/gogol-webmaster-tools.nix.golden+11 test/golden-test-cases/gogol-youtube.cabal+117 test/golden-test-cases/gogol-youtube.nix.golden+11 test/golden-test-cases/groundhog-mysql.cabal+32 test/golden-test-cases/groundhog-mysql.nix.golden+15 test/golden-test-cases/gsasl.cabal+38 test/golden-test-cases/gsasl.nix.golden+11 test/golden-test-cases/hOpenPGP.cabal+342 test/golden-test-cases/hOpenPGP.nix.golden+49 test/golden-test-cases/hPDB-examples.cabal+97 test/golden-test-cases/hPDB-examples.nix.golden+24 test/golden-test-cases/haddock-library.cabal+130 test/golden-test-cases/haddock-library.nix.golden+17 test/golden-test-cases/hakyll.cabal+321 test/golden-test-cases/hakyll.nix.golden+42 test/golden-test-cases/happstack-hsp.cabal+37 test/golden-test-cases/happstack-hsp.nix.golden+15 test/golden-test-cases/happy.cabal+180 test/golden-test-cases/happy.nix.golden+16 test/golden-test-cases/harp.cabal+31 test/golden-test-cases/harp.nix.golden+10 test/golden-test-cases/hashtables.cabal+199 test/golden-test-cases/hashtables.nix.golden+13 test/golden-test-cases/haskell-tools-debug.cabal+38 test/golden-test-cases/haskell-tools-debug.nix.golden+22 test/golden-test-cases/haskell-tools-rewrite.cabal+64 test/golden-test-cases/haskell-tools-rewrite.nix.golden+20 test/golden-test-cases/hasql.cabal+205 test/golden-test-cases/hasql.nix.golden+27 test/golden-test-cases/hformat.cabal+45 test/golden-test-cases/hformat.nix.golden+15 test/golden-test-cases/highlighting-kate.cabal+276 test/golden-test-cases/highlighting-kate.nix.golden+22 test/golden-test-cases/hit.cabal+125 test/golden-test-cases/hit.nix.golden+24 test/golden-test-cases/hjson.cabal+19 test/golden-test-cases/hjson.nix.golden+9 test/golden-test-cases/hmpfr.cabal+83 test/golden-test-cases/hmpfr.nix.golden+12 test/golden-test-cases/hoogle.cabal+142 test/golden-test-cases/hoogle.nix.golden+30 test/golden-test-cases/hostname-validate.cabal+20 test/golden-test-cases/hostname-validate.nix.golden+9 test/golden-test-cases/hsinstall.cabal+45 test/golden-test-cases/hsinstall.nix.golden+13 test/golden-test-cases/hstatsd.cabal+24 test/golden-test-cases/hstatsd.nix.golden+10 test/golden-test-cases/hsx-jmacro.cabal+33 test/golden-test-cases/hsx-jmacro.nix.golden+14 test/golden-test-cases/hsyslog.cabal+77 test/golden-test-cases/hsyslog.nix.golden+14 test/golden-test-cases/htoml.cabal+89 test/golden-test-cases/htoml.nix.golden+24 test/golden-test-cases/http-conduit.cabal+82 test/golden-test-cases/http-conduit.nix.golden+29 test/golden-test-cases/http-link-header.cabal+74 test/golden-test-cases/http-link-header.nix.golden+23 test/golden-test-cases/http-media.cabal+128 test/golden-test-cases/http-media.nix.golden+19 test/golden-test-cases/hxt-charproperties.cabal+46 test/golden-test-cases/hxt-charproperties.nix.golden+10 test/golden-test-cases/hxt-expat.cabal+36 test/golden-test-cases/hxt-expat.nix.golden+11 test/golden-test-cases/hxt-tagsoup.cabal+42 test/golden-test-cases/hxt-tagsoup.nix.golden+15 test/golden-test-cases/iconv.cabal+34 test/golden-test-cases/iconv.nix.golden+9 test/golden-test-cases/incremental-parser.cabal+55 test/golden-test-cases/incremental-parser.nix.golden+19 test/golden-test-cases/indentation-core.cabal+39 test/golden-test-cases/indentation-core.nix.golden+10 test/golden-test-cases/indentation-parsec.cabal+70 test/golden-test-cases/indentation-parsec.nix.golden+13 test/golden-test-cases/inline-c-cpp.cabal+41 test/golden-test-cases/inline-c-cpp.nix.golden+14 test/golden-test-cases/integer-logarithms.cabal+111 test/golden-test-cases/integer-logarithms.nix.golden+17 test/golden-test-cases/intero.cabal+116 test/golden-test-cases/intero.nix.golden+24 test/golden-test-cases/invariant.cabal+69 test/golden-test-cases/invariant.nix.golden+21 test/golden-test-cases/io-machine.cabal+34 test/golden-test-cases/io-machine.nix.golden+11 test/golden-test-cases/io-streams-haproxy.cabal+78 test/golden-test-cases/io-streams-haproxy.nix.golden+19 test/golden-test-cases/ip.cabal+124 test/golden-test-cases/ip.nix.golden+24 test/golden-test-cases/iso639.cabal+26 test/golden-test-cases/iso639.nix.golden+10 test/golden-test-cases/iso8601-time.cabal+60 test/golden-test-cases/iso8601-time.nix.golden+11 test/golden-test-cases/jmacro-rpc-happstack.cabal+29 test/golden-test-cases/jmacro-rpc-happstack.nix.golden+15 test/golden-test-cases/jmacro-rpc.cabal+26 test/golden-test-cases/jmacro-rpc.nix.golden+17 test/golden-test-cases/jose.cabal+147 test/golden-test-cases/jose.nix.golden+30 test/golden-test-cases/katip-elasticsearch.cabal+114 test/golden-test-cases/katip-elasticsearch.nix.golden+30 test/golden-test-cases/katip.cabal+151 test/golden-test-cases/katip.nix.golden+35 test/golden-test-cases/katydid.cabal+89 test/golden-test-cases/katydid.nix.golden+21 test/golden-test-cases/kawhi.cabal+66 test/golden-test-cases/kawhi.nix.golden+22 test/golden-test-cases/kraken.cabal+41 test/golden-test-cases/kraken.nix.golden+13 test/golden-test-cases/l10n.cabal+29 test/golden-test-cases/l10n.nix.golden+10 test/golden-test-cases/lambdabot-social-plugins.cabal+60 test/golden-test-cases/lambdabot-social-plugins.nix.golden+14 test/golden-test-cases/lazy-csv.cabal+36 test/golden-test-cases/lazy-csv.nix.golden+13 test/golden-test-cases/lens-aeson.cabal+80 test/golden-test-cases/lens-aeson.nix.golden+21 test/golden-test-cases/lens.cabal+503 test/golden-test-cases/lens.nix.golden+39 test/golden-test-cases/libgit.cabal+29 test/golden-test-cases/libgit.nix.golden+10 test/golden-test-cases/librato.cabal+52 test/golden-test-cases/librato.nix.golden+17 test/golden-test-cases/lifted-async.cabal+115 test/golden-test-cases/lifted-async.nix.golden+20 test/golden-test-cases/lmdb.cabal+51 test/golden-test-cases/lmdb.nix.golden+11 test/golden-test-cases/logging-effect-extra-file.cabal+63 test/golden-test-cases/logging-effect-extra-file.nix.golden+17 test/golden-test-cases/lucid.cabal+75 test/golden-test-cases/lucid.nix.golden+22 test/golden-test-cases/mainland-pretty.cabal+40 test/golden-test-cases/mainland-pretty.nix.golden+14 test/golden-test-cases/matrices.cabal+73 test/golden-test-cases/matrices.nix.golden+15 test/golden-test-cases/median-stream.cabal+38 test/golden-test-cases/median-stream.nix.golden+11 test/golden-test-cases/megaparsec.cabal+142 test/golden-test-cases/megaparsec.nix.golden+22 test/golden-test-cases/mersenne-random.cabal+111 test/golden-test-cases/mersenne-random.nix.golden+10 test/golden-test-cases/messagepack.cabal+48 test/golden-test-cases/messagepack.nix.golden+19 test/golden-test-cases/microlens-ghc.cabal+44 test/golden-test-cases/microlens-ghc.nix.golden+14 test/golden-test-cases/microlens.cabal+71 test/golden-test-cases/microlens.nix.golden+10 test/golden-test-cases/minio-hs.cabal+245 test/golden-test-cases/minio-hs.nix.golden+34 test/golden-test-cases/mmorph.cabal+28 test/golden-test-cases/mmorph.nix.golden+13 test/golden-test-cases/mnist-idx.cabal+83 test/golden-test-cases/mnist-idx.nix.golden+13 test/golden-test-cases/mole.cabal+98 test/golden-test-cases/mole.nix.golden+26 test/golden-test-cases/monad-products.cabal+30 test/golden-test-cases/monad-products.nix.golden+10 test/golden-test-cases/monadcryptorandom.cabal+41 test/golden-test-cases/monadcryptorandom.nix.golden+15 test/golden-test-cases/monadloc.cabal+43 test/golden-test-cases/monadloc.nix.golden+10 test/golden-test-cases/mongoDB.cabal+117 test/golden-test-cases/mongoDB.nix.golden+29 test/golden-test-cases/monoid-extras.cabal+57 test/golden-test-cases/monoid-extras.nix.golden+12 test/golden-test-cases/mwc-random-monad.cabal+41 test/golden-test-cases/mwc-random-monad.nix.golden+13 test/golden-test-cases/mwc-random.cabal+88 test/golden-test-cases/mwc-random.nix.golden+15 test/golden-test-cases/nanospec.cabal+45 test/golden-test-cases/nanospec.nix.golden+10 test/golden-test-cases/netpbm.cabal+166 test/golden-test-cases/netpbm.nix.golden+18 test/golden-test-cases/network-protocol-xmpp.cabal+57 test/golden-test-cases/network-protocol-xmpp.nix.golden+15 test/golden-test-cases/network-transport-tcp.cabal+93 test/golden-test-cases/network-transport-tcp.nix.golden+17 test/golden-test-cases/nix-paths.cabal+37 test/golden-test-cases/nix-paths.nix.golden+11 test/golden-test-cases/nvim-hs.cabal+201 test/golden-test-cases/nvim-hs.nix.golden+39 test/golden-test-cases/once.cabal+30 test/golden-test-cases/once.nix.golden+14 test/golden-test-cases/one-liner.cabal+50 test/golden-test-cases/one-liner.nix.golden+16 test/golden-test-cases/online.cabal+85 test/golden-test-cases/online.nix.golden+14 test/golden-test-cases/opencv.cabal+263 test/golden-test-cases/opencv.nix.golden+30 test/golden-test-cases/openexr-write.cabal+52 test/golden-test-cases/openexr-write.nix.golden+17 test/golden-test-cases/openpgp-asciiarmor.cabal+62 test/golden-test-cases/openpgp-asciiarmor.nix.golden+19 test/golden-test-cases/pager.cabal+69 test/golden-test-cases/pager.nix.golden+20 test/golden-test-cases/partial-isomorphisms.cabal+50 test/golden-test-cases/partial-isomorphisms.nix.golden+10 test/golden-test-cases/partial-semigroup.cabal+154 test/golden-test-cases/partial-semigroup.nix.golden+11 test/golden-test-cases/pathtype.cabal+150 test/golden-test-cases/pathtype.nix.golden+18 test/golden-test-cases/pcap.cabal+39 test/golden-test-cases/pcap.nix.golden+10 test/golden-test-cases/pdfinfo.cabal+30 test/golden-test-cases/pdfinfo.nix.golden+14 test/golden-test-cases/pell.cabal+54 test/golden-test-cases/pell.nix.golden+16 test/golden-test-cases/persistable-types-HDBC-pg.cabal+42 test/golden-test-cases/persistable-types-HDBC-pg.nix.golden+16 test/golden-test-cases/persistent-mysql-haskell.cabal+66 test/golden-test-cases/persistent-mysql-haskell.nix.golden+23 test/golden-test-cases/picosat.cabal+72 test/golden-test-cases/picosat.nix.golden+13 test/golden-test-cases/pinch.cabal+111 test/golden-test-cases/pinch.nix.golden+21 test/golden-test-cases/pipes-network.cabal+51 test/golden-test-cases/pipes-network.nix.golden+15 test/golden-test-cases/pipes-safe.cabal+52 test/golden-test-cases/pipes-safe.nix.golden+14 test/golden-test-cases/pointed.cabal+98 test/golden-test-cases/pointed.nix.golden+17 test/golden-test-cases/poly-arity.cabal+23 test/golden-test-cases/poly-arity.nix.golden+9 test/golden-test-cases/polynomials-bernstein.cabal+22 test/golden-test-cases/polynomials-bernstein.nix.golden+9 test/golden-test-cases/postgresql-simple-url.cabal+43 test/golden-test-cases/postgresql-simple-url.nix.golden+17 test/golden-test-cases/prelude-safeenum.cabal+59 test/golden-test-cases/prelude-safeenum.nix.golden+10 test/golden-test-cases/presburger.cabal+32 test/golden-test-cases/presburger.nix.golden+11 test/golden-test-cases/prettyclass.cabal+15 test/golden-test-cases/prettyclass.nix.golden+9 test/golden-test-cases/prettyprinter-compat-ansi-wl-pprint.cabal+36 test/golden-test-cases/prettyprinter-compat-ansi-wl-pprint.nix.golden+14 test/golden-test-cases/prettyprinter-compat-wl-pprint.cabal+35 test/golden-test-cases/prettyprinter-compat-wl-pprint.nix.golden+10 test/golden-test-cases/primitive.cabal+76 test/golden-test-cases/primitive.nix.golden+11 test/golden-test-cases/product-profunctors.cabal+53 test/golden-test-cases/product-profunctors.nix.golden+15 test/golden-test-cases/profiterole.cabal+44 test/golden-test-cases/profiterole.nix.golden+17 test/golden-test-cases/projectroot.cabal+43 test/golden-test-cases/projectroot.nix.golden+11 test/golden-test-cases/proto-lens-optparse.cabal+26 test/golden-test-cases/proto-lens-optparse.nix.golden+14 test/golden-test-cases/proto-lens.cabal+45 test/golden-test-cases/proto-lens.nix.golden+16 test/golden-test-cases/psqueues.cabal+156 test/golden-test-cases/psqueues.nix.golden+22 test/golden-test-cases/pusher-http-haskell.cabal+92 test/golden-test-cases/pusher-http-haskell.nix.golden+23 test/golden-test-cases/quickcheck-arbitrary-adt.cabal+40 test/golden-test-cases/quickcheck-arbitrary-adt.nix.golden+15 test/golden-test-cases/quickcheck-combinators.cabal+43 test/golden-test-cases/quickcheck-combinators.nix.golden+9 test/golden-test-cases/rank1dynamic.cabal+43 test/golden-test-cases/rank1dynamic.nix.golden+15 test/golden-test-cases/rasterific-svg.cabal+74 test/golden-test-cases/rasterific-svg.nix.golden+23 test/golden-test-cases/ratio-int.cabal+25 test/golden-test-cases/ratio-int.nix.golden+10 test/golden-test-cases/rawstring-qm.cabal+34 test/golden-test-cases/rawstring-qm.nix.golden+10 test/golden-test-cases/reactive-banana.cabal+88 test/golden-test-cases/reactive-banana.nix.golden+20 test/golden-test-cases/readline.cabal+33 test/golden-test-cases/readline.nix.golden+10 test/golden-test-cases/rebase.cabal+372 test/golden-test-cases/rebase.nix.golden+20 test/golden-test-cases/reform-blaze.cabal+29 test/golden-test-cases/reform-blaze.nix.golden+14 test/golden-test-cases/reform-hsp.cabal+28 test/golden-test-cases/reform-hsp.nix.golden+10 test/golden-test-cases/regex-compat.cabal+36 test/golden-test-cases/regex-compat.nix.golden+10 test/golden-test-cases/regex-pcre.cabal+68 test/golden-test-cases/regex-pcre.nix.golden+15 test/golden-test-cases/relational-query.cabal+171 test/golden-test-cases/relational-query.nix.golden+21 test/golden-test-cases/relational-schemas.cabal+100 test/golden-test-cases/relational-schemas.nix.golden+14 test/golden-test-cases/repa-io.cabal+40 test/golden-test-cases/repa-io.nix.golden+14 test/golden-test-cases/repa.cabal+98 test/golden-test-cases/repa.nix.golden+14 test/golden-test-cases/rosezipper.cabal+16 test/golden-test-cases/rosezipper.nix.golden+9 test/golden-test-cases/rvar.cabal+59 test/golden-test-cases/rvar.nix.golden+14 test/golden-test-cases/scalpel-core.cabal+87 test/golden-test-cases/scalpel-core.nix.golden+18 test/golden-test-cases/sdl2.cabal+452 test/golden-test-cases/sdl2.nix.golden+18 test/golden-test-cases/selda-sqlite.cabal+38 test/golden-test-cases/selda-sqlite.nix.golden+14 test/golden-test-cases/selda.cabal+110 test/golden-test-cases/selda.nix.golden+15 test/golden-test-cases/servant-checked-exceptions.cabal+145 test/golden-test-cases/servant-checked-exceptions.nix.golden+23 test/golden-test-cases/set-cover.cabal+253 test/golden-test-cases/set-cover.nix.golden+16 test/golden-test-cases/sets.cabal+85 test/golden-test-cases/sets.nix.golden+27 test/golden-test-cases/simple-smt.cabal+24 test/golden-test-cases/simple-smt.nix.golden+9 test/golden-test-cases/slack-web.cabal+97 test/golden-test-cases/slack-web.nix.golden+21 test/golden-test-cases/slug.cabal+65 test/golden-test-cases/slug.nix.golden+18 test/golden-test-cases/soxlib.cabal+70 test/golden-test-cases/soxlib.nix.golden+19 test/golden-test-cases/speedy-slice.cabal+80 test/golden-test-cases/speedy-slice.nix.golden+16 test/golden-test-cases/splice.cabal+66 test/golden-test-cases/splice.nix.golden+10 test/golden-test-cases/spreadsheet.cabal+108 test/golden-test-cases/spreadsheet.nix.golden+16 test/golden-test-cases/stack-type.cabal+25 test/golden-test-cases/stack-type.nix.golden+10 test/golden-test-cases/state-codes.cabal+60 test/golden-test-cases/state-codes.nix.golden+13 test/golden-test-cases/stb-image-redux.cabal+45 test/golden-test-cases/stb-image-redux.nix.golden+11 test/golden-test-cases/stm-containers.cabal+251 test/golden-test-cases/stm-containers.nix.golden+27 test/golden-test-cases/streaming-commons.cabal+161 test/golden-test-cases/streaming-commons.nix.golden+23 test/golden-test-cases/strict-base-types.cabal+130 test/golden-test-cases/strict-base-types.nix.golden+15 test/golden-test-cases/strict-types.cabal+34 test/golden-test-cases/strict-types.nix.golden+15 test/golden-test-cases/string-class.cabal+60 test/golden-test-cases/string-class.nix.golden+10 test/golden-test-cases/stripe-haskell.cabal+35 test/golden-test-cases/stripe-haskell.nix.golden+10 test/golden-test-cases/svg-tree.cabal+61 test/golden-test-cases/svg-tree.nix.golden+15 test/golden-test-cases/swagger.cabal+61 test/golden-test-cases/swagger.nix.golden+15 test/golden-test-cases/system-argv0.cabal+42 test/golden-test-cases/system-argv0.nix.golden+10 test/golden-test-cases/system-fileio.cabal+91 test/golden-test-cases/system-fileio.nix.golden+18 test/golden-test-cases/system-filepath.cabal+61 test/golden-test-cases/system-filepath.nix.golden+15 test/golden-test-cases/tagged.cabal+67 test/golden-test-cases/tagged.nix.golden+14 test/golden-test-cases/taggy.cabal+140 test/golden-test-cases/taggy.nix.golden+27 test/golden-test-cases/tagstream-conduit.cabal+62 test/golden-test-cases/tagstream-conduit.nix.golden+20 test/golden-test-cases/tasty-hedgehog.cabal+41 test/golden-test-cases/tasty-hedgehog.nix.golden+15 test/golden-test-cases/tasty-rerun.cabal+87 test/golden-test-cases/tasty-rerun.nix.golden+15 test/golden-test-cases/tce-conf.cabal+66 test/golden-test-cases/tce-conf.nix.golden+14 test/golden-test-cases/terminal-progress-bar.cabal+69 test/golden-test-cases/terminal-progress-bar.nix.golden+17 test/golden-test-cases/test-fixture.cabal+78 test/golden-test-cases/test-fixture.nix.golden+20 test/golden-test-cases/texmath.cabal+156 test/golden-test-cases/texmath.nix.golden+21 test/golden-test-cases/text-icu.cabal+118 test/golden-test-cases/text-icu.nix.golden+19 test/golden-test-cases/text-postgresql.cabal+50 test/golden-test-cases/text-postgresql.nix.golden+15 test/golden-test-cases/th-expand-syns.cabal+39 test/golden-test-cases/th-expand-syns.nix.golden+11 test/golden-test-cases/these.cabal+90 test/golden-test-cases/these.nix.golden+24 test/golden-test-cases/timezone-series.cabal+57 test/golden-test-cases/timezone-series.nix.golden+10 test/golden-test-cases/transformers-compat.cabal+99 test/golden-test-cases/transformers-compat.nix.golden+10 test/golden-test-cases/transformers-lift.cabal+36 test/golden-test-cases/transformers-lift.nix.golden+12 test/golden-test-cases/tree-fun.cabal+70 test/golden-test-cases/tree-fun.nix.golden+9 test/golden-test-cases/ttrie.cabal+68 test/golden-test-cases/ttrie.nix.golden+26 test/golden-test-cases/tuple-th.cabal+23 test/golden-test-cases/tuple-th.nix.golden+9 test/golden-test-cases/tuples-homogenous-h98.cabal+59 test/golden-test-cases/tuples-homogenous-h98.nix.golden+10 test/golden-test-cases/turtle-options.cabal+56 test/golden-test-cases/turtle-options.nix.golden+16 test/golden-test-cases/type-operators.cabal+26 test/golden-test-cases/type-operators.nix.golden+10 test/golden-test-cases/type-spec.cabal+102 test/golden-test-cases/type-spec.nix.golden+11 test/golden-test-cases/unicode-show.cabal+48 test/golden-test-cases/unicode-show.nix.golden+16 test/golden-test-cases/unique.cabal+31 test/golden-test-cases/unique.nix.golden+10 test/golden-test-cases/unix-bytestring.cabal+62 test/golden-test-cases/unix-bytestring.nix.golden+10 test/golden-test-cases/unlit.cabal+44 test/golden-test-cases/unlit.nix.golden+12 test/golden-test-cases/utility-ht.cabal+108 test/golden-test-cases/utility-ht.nix.golden+10 test/golden-test-cases/validity-aeson.cabal+33 test/golden-test-cases/validity-aeson.nix.golden+15 test/golden-test-cases/validity-containers.cabal+33 test/golden-test-cases/validity-containers.nix.golden+10 test/golden-test-cases/vector-mmap.cabal+33 test/golden-test-cases/vector-mmap.nix.golden+13 test/golden-test-cases/vivid-supercollider.cabal+69 test/golden-test-cases/vivid-supercollider.nix.golden+17 test/golden-test-cases/vty.cabal+624 test/golden-test-cases/vty.nix.golden+33 test/golden-test-cases/wai-cors.cabal+168 test/golden-test-cases/wai-cors.nix.golden+23 test/golden-test-cases/wai-middleware-auth.cabal+75 test/golden-test-cases/wai-middleware-auth.nix.golden+28 test/golden-test-cases/wai-middleware-caching-redis.cabal+40 test/golden-test-cases/wai-middleware-caching-redis.nix.golden+16 test/golden-test-cases/wai-middleware-prometheus.cabal+46 test/golden-test-cases/wai-middleware-prometheus.nix.golden+16 test/golden-test-cases/warp.cabal+208 test/golden-test-cases/warp.nix.golden+34 test/golden-test-cases/weigh.cabal+60 test/golden-test-cases/weigh.nix.golden+15 test/golden-test-cases/xml-hamlet.cabal+44 test/golden-test-cases/xml-hamlet.nix.golden+19 test/golden-test-cases/xmonad-contrib.cabal+338 test/golden-test-cases/xmonad-contrib.nix.golden+17 test/golden-test-cases/yahoo-finance-api.cabal+71 test/golden-test-cases/yahoo-finance-api.nix.golden+20 test/golden-test-cases/yesod-form-bootstrap4.cabal+31 test/golden-test-cases/yesod-form-bootstrap4.nix.golden+10 test/golden-test-cases/yesod-gitrepo.cabal+28 test/golden-test-cases/yesod-gitrepo.nix.golden+15 test/golden-test-cases/yesod-recaptcha2.cabal+37 test/golden-test-cases/yesod-recaptcha2.nix.golden+14 test/golden-test-cases/zlib.cabal+97 test/golden-test-cases/zlib.nix.golden+15 update-hackage-snapshot.sh+19 update-nixpkgs.sh+4−10 update-stackage.sh+24−7
.gitignore+9−10
@@ -1,12 +1,13 @@
1−## ignore build Cabal build files
1+# ignore build Cabal build files
22
3−.cabal-sandbox
4−Setup
5−Setup.hi
6−Setup.o
7−add-source-timestamps
8−cabal.sandbox.config
9−dist
3+/.cabal-sandbox
4+/.ghc.environment.*
5+/Setup
6+/Setup.hi
7+/Setup.o
8+/cabal.sandbox.config
9+/dist
10+/dist-newstyle
1011
1112# vim tmp files
1213
@@ -26,6 +27,4 @@ TAGS
2627# hackage2nix ususally needs those two repositories around
2728
2829/hackage/*
29−/lts-haskell/*
3030/nixpkgs/*
31−/stackage-nightly/*
.travis.yml+149−59
@@ -1,71 +1,161 @@
1−# This file has been generated by `make_travis_yml_2.hs`
2−# see https://github.com/hvr/multi-ghc-travis for more information
1+# This Travis job script has been generated by a script via
2+#
3+# haskell-ci '--installed=+all -Cabal' '--hlint' '--doctest' '--doctest-options=-i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen' '-o' '.travis.yml' 'cabal2nix.cabal' '--head-hackage' '--head-hackage-jobs' '> 8.8'
4+#
5+# For more information, see https://github.com/haskell-CI/haskell-ci
6+#
7+# version: 0.9.20200306
8+#
9+version: ~> 1.0
310language: c
4−sudo: false
5−
11+os: linux
12+dist: xenial
13+git:
14+ # whether to recursively clone submodules
15+ submodules: false
616cache:
717 directories:
818 - $HOME/.cabal/packages
919 - $HOME/.cabal/store
10−
20+ - $HOME/.hlint
1121before_cache:
12− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
13− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.tar
14−
15−matrix:
22+ - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log
23+ # remove files that are regenerated by 'cabal update'
24+ - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.*
25+ - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json
26+ - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache
27+ - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
28+ - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
29+ - rm -rfv $CABALHOME/packages/head.hackage
30+jobs:
1631 include:
17− - env: CABALVER=1.24 GHCVER=7.10.1
18− compiler: ": #GHC 7.10.1"
19− addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.1], sources: [hvr-ghc]}}
20− - env: CABALVER=1.24 GHCVER=7.10.2
21− compiler: ": #GHC 7.10.2"
22− addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.2], sources: [hvr-ghc]}}
23− - env: CABALVER=1.24 GHCVER=7.10.3
24− compiler: ": #GHC 7.10.3"
25− addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.3], sources: [hvr-ghc]}}
26− - env: CABALVER=1.24 GHCVER=8.0.1
27− compiler: ": #GHC 8.0.1"
28− addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1], sources: [hvr-ghc]}}
29−
32+ - compiler: ghc-8.10.1
33+ addons: {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.10.1","cabal-install-3.2"]}}
34+ os: linux
35+ - compiler: ghc-8.8.3
36+ addons: {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.8.3","cabal-install-3.0"]}}
37+ os: linux
38+ - compiler: ghc-8.6.5
39+ addons: {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.6.5","cabal-install-3.0"]}}
40+ os: linux
41+ allow_failures:
42+ - compiler: ghc-8.8.3
43+ - compiler: ghc-8.10.1
3044before_install:
31− - unset CC
32− - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
33−
45+ - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
46+ - WITHCOMPILER="-w $HC"
47+ - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//')
48+ - HCPKG="$HC-pkg"
49+ - unset CC
50+ - CABAL=/opt/ghc/bin/cabal
51+ - CABALHOME=$HOME/.cabal
52+ - export PATH="$CABALHOME/bin:$PATH"
53+ - TOP=$(pwd)
54+ - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')"
55+ - echo $HCNUMVER
56+ - CABAL="$CABAL -vnormal+nowrap"
57+ - set -o pipefail
58+ - TEST=--enable-tests
59+ - BENCH=--enable-benchmarks
60+ - HEADHACKAGE=false
61+ - if [ $HCNUMVER -ge 80800 ] ; then HEADHACKAGE=true ; fi
62+ - rm -f $CABALHOME/config
63+ - |
64+ echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
65+ echo "remote-build-reporting: anonymous" >> $CABALHOME/config
66+ echo "write-ghc-environment-files: always" >> $CABALHOME/config
67+ echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
68+ echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
69+ echo "world-file: $CABALHOME/world" >> $CABALHOME/config
70+ echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
71+ echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
72+ echo "installdir: $CABALHOME/bin" >> $CABALHOME/config
73+ echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
74+ echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
75+ echo "install-dirs user" >> $CABALHOME/config
76+ echo " prefix: $CABALHOME" >> $CABALHOME/config
77+ echo "repository hackage.haskell.org" >> $CABALHOME/config
78+ echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
79+ - |
80+ if $HEADHACKAGE; then
81+ echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1/g')" >> $CABALHOME/config
82+ echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config
83+ echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config
84+ echo " secure: True" >> $CABALHOME/config
85+ echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config
86+ echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config
87+ echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config
88+ echo " key-threshold: 3" >> $CABALHOME/config
89+ fi
3490install:
35− - cabal --version
36− - BENCH=${BENCH---enable-benchmarks}
37− - TEST=${TEST---enable-tests}
38− - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
39− - if [ -f $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz ];
40− then
41− zcat $HOME/.cabal/packages/hackage.haskell.org/00-index.tar.gz >
42− $HOME/.cabal/packages/hackage.haskell.org/00-index.tar;
43− fi
44− - travis_retry cabal update -v
45− - sed -i 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config
46− - cabal new-build ${TEST} ${BENCH} --dep
47−
48−# Here starts the actual work to be performed for the package under test;
49−# any command which exits with a non-zero exit code causes the build to fail.
91+ - ${CABAL} --version
92+ - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
93+ - |
94+ echo "program-default-options" >> $CABALHOME/config
95+ echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config
96+ - cat $CABALHOME/config
97+ - rm -fv cabal.project cabal.project.local cabal.project.freeze
98+ - travis_retry ${CABAL} v2-update -v
99+ - (cd /tmp && ${CABAL} v2-install $WITHCOMPILER -j2 doctest --constraint='doctest ==0.16.2.*')
100+ - if [ $HCNUMVER -lt 80800 ] ; then HLINTVER=$(cd /tmp && (${CABAL} v2-install -v $WITHCOMPILER --dry-run hlint --constraint='hlint ==2.2.*' | perl -ne 'if (/\bhlint-(\d+(\.\d+)*)\b/) { print "$1"; last; }')); echo "HLint version $HLINTVER" ; fi
101+ - "if [ $HCNUMVER -lt 80800 ] ; then if [ ! -e $HOME/.hlint/hlint-$HLINTVER/hlint ]; then echo \"Downloading HLint version $HLINTVER\"; mkdir -p $HOME/.hlint; curl --write-out 'Status Code: %{http_code} Redirects: %{num_redirects} Total time: %{time_total} Total Dsize: %{size_download}\\n' --silent --location --output $HOME/.hlint/hlint-$HLINTVER.tar.gz \"https://github.com/ndmitchell/hlint/releases/download/v$HLINTVER/hlint-$HLINTVER-x86_64-linux.tar.gz\"; tar -xzv -f $HOME/.hlint/hlint-$HLINTVER.tar.gz -C $HOME/.hlint; fi ; fi"
102+ - if [ $HCNUMVER -lt 80800 ] ; then mkdir -p $CABALHOME/bin && ln -sf "$HOME/.hlint/hlint-$HLINTVER/hlint" $CABALHOME/bin/hlint ; fi
103+ - if [ $HCNUMVER -lt 80800 ] ; then hlint --version ; fi
104+ # Generate cabal.project
105+ - rm -rf cabal.project cabal.project.local cabal.project.freeze
106+ - touch cabal.project
107+ - |
108+ echo "packages: ." >> cabal.project
109+ - |
110+ - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(Cabal|cabal2nix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
111+ - cat cabal.project || true
112+ - cat cabal.project.local || true
113+ - if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
114+ - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH}
115+ - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
116+ - rm cabal.project.freeze
117+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all
118+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all
50119script:
51− - if [ -f configure.ac ]; then autoreconf -i; fi
52− # this builds all libraries and executables (including tests/benchmarks)
53− - cabal new-build ${TEST} ${BENCH} -v2 # -v2 provides useful information for debugging
54−
55− # there's no 'cabal new-test' yet, so let's emulate for now
56− - TESTS=( $(awk 'tolower($0) ~ /^test-suite / { print $2 }' *.cabal) );
57− RC=true; for T in ${TESTS[@]}; do echo "== $T ==";
58− if dist-newstyle/build/*/build/$T/$T; then echo "= $T OK =";
59− else echo "= $T FAILED ="; RC=false; fi; done; $RC
60− - cabal sdist # test that a source-distribution can be generated
61−
62− # Check that the resulting source distribution can be built w/o and w tests
63− - SRC_BASENAME=$(cabal info . | awk '{print $2;exit}')
64− - tar -C dist/ -xf dist/$SRC_BASENAME.tar.gz
65− - "echo 'packages: *.cabal' > dist/$SRC_BASENAME/cabal.project"
66− - cd dist/$SRC_BASENAME/
67− - cabal new-build --disable-tests --disable-benchmarks
68− - rm -rf ./dist-newstyle
69− - cabal new-build ${TEST} ${BENCH}
120+ - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
121+ # Packaging...
122+ - ${CABAL} v2-sdist all
123+ # Unpacking...
124+ - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
125+ - cd ${DISTDIR} || false
126+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;
127+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;
128+ - PKGDIR_cabal2nix="$(find . -maxdepth 1 -type d -regex '.*/cabal2nix-[0-9.]*')"
129+ # Generate cabal.project
130+ - rm -rf cabal.project cabal.project.local cabal.project.freeze
131+ - touch cabal.project
132+ - |
133+ echo "packages: ${PKGDIR_cabal2nix}" >> cabal.project
134+ - |
135+ - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(Cabal|cabal2nix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
136+ - cat cabal.project || true
137+ - cat cabal.project.local || true
138+ # Building...
139+ # this builds all libraries and executables (without tests/benchmarks)
140+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
141+ # Building with tests and benchmarks...
142+ # build & run tests, build benchmarks
143+ - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all
144+ # Testing...
145+ - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all
146+ # Doctest...
147+ - (cd ${PKGDIR_cabal2nix} && doctest -i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen src)
148+ # HLint..
149+ - if [ $HCNUMVER -lt 80800 ] ; then (cd ${PKGDIR_cabal2nix} && hlint src) ; fi
150+ - if [ $HCNUMVER -lt 80800 ] ; then (cd ${PKGDIR_cabal2nix} && hlint hackage2nix) ; fi
151+ - if [ $HCNUMVER -lt 80800 ] ; then (cd ${PKGDIR_cabal2nix} && hlint cabal2nix) ; fi
152+ # cabal check...
153+ - (cd ${PKGDIR_cabal2nix} && ${CABAL} -vnormal check)
154+ # haddock...
155+ - ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all
156+ # Building without installed constraints for packages in global-db...
157+ - rm -f cabal.project.local
158+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
70159
160+# REGENDATA ("0.9.20200306",["--installed=+all -Cabal","--hlint","--doctest","--doctest-options=-i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen","-o",".travis.yml","cabal2nix.cabal","--head-hackage","--head-hackage-jobs","> 8.8"])
71161# EOF
README.md+15−38
@@ -1,6 +1,11 @@
11Cabal2nix
22=========
33
4+[![hackage release](https://img.shields.io/hackage/v/cabal2nix.svg?label=hackage)](http://hackage.haskell.org/package/cabal2nix)
5+[![stackage LTS package](http://stackage.org/package/cabal2nix/badge/lts)](http://stackage.org/lts/package/cabal2nix)
6+[![stackage Nightly package](http://stackage.org/package/cabal2nix/badge/nightly)](http://stackage.org/nightly/package/cabal2nix)
7+[![travis build status](https://img.shields.io/travis/NixOS/cabal2nix/master.svg?label=travis+build)](https://travis-ci.org/NixOS/cabal2nix)
8+
49`cabal2nix` converts a single Cabal file into a single Nix build expression.
510For example:
611
@@ -10,29 +15,28 @@ For example:
1015 pname = "mtl";
1116 version = "2.2.1";
1217 sha256 = "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa";
13− buildDepends = [ base transformers ];
18+ libraryHaskellDepends = [ base transformers ];
1419 homepage = "http://github.com/ekmett/mtl";
1520 description = "Monad classes, using functional dependencies";
1621 license = stdenv.lib.licenses.bsd3;
1722 }
1823
19−
2024Cabal files can be referred to using the magic URL `cabal://NAME-VERSION`,
2125which will automatically download the file from Hackage. Alternatively, a
2226direct `http://host/path/pkg.cabal` URL can be provided, as well as a
2327`file:///local/path/pkg.cabal` URI that doesn't depend on network access.
2428However, if the source hash is not already in `cabal2nix`'s cache or provided
2529using the `--sha256` option, `cabal2nix` still needs to download the source
26−code to compute the hash, which obviously still causes network traffic. Run the
27−utility with `--help` to see the complete list of supported command line flags.
30+code to compute the hash, which still causes network traffic. Run the utility
31+with `--help` to see the complete list of supported command-line flags.
2832
29−Detailed instructions how to use those generated files with Nix can be found at
30−http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure.
33+Detailed instructions on how to use those generated files with Nix can be found at
34+https://nixos.org/nixpkgs/manual/#how-to-create-nix-builds-for-your-own-private-haskell-packages.
3135
3236`cabal2nix` can also build derivations for projects from other sources than
33−hackage. You only need to provide an URI that points to a cabal project. The
34−most common usecase for this is probably to generate a derivation for a project
35−on the local file system:
37+Hackage. You only need to provide a URI that points to a cabal project. The
38+most common use-case for this is probably to generate a derivation for a
39+project on the local file system:
3640
3741 $ cabal get mtl-2.2.1 && cd mtl-2.2.1
3842 $ cabal2nix .
@@ -41,7 +45,7 @@ on the local file system:
4145 pname = "mtl";
4246 version = "2.2.1";
4347 src = ./.;
44− buildDepends = [ base transformers ];
48+ libraryHaskellDepends = [ base transformers ];
4549 homepage = "http://github.com/ekmett/mtl";
4650 description = "Monad classes, using functional dependencies";
4751 license = stdenv.lib.licenses.bsd3;
@@ -50,35 +54,8 @@ on the local file system:
5054This derivation will not fetch from hackage, but instead use the directory which
5155contains the derivation as the source repository.
5256
53−`cabal2nix` currently supports the following respository types:
57+`cabal2nix` currently supports the following repository types:
5458
5559* directory
5660* source archive (zip, tar.gz, ...) from http or https URL or local file.
5761* git, mercurial, svn or bazaar repository
58−
59−How to compile this package
60−---------------------------
61−
62−The `cabal2nix.cabal` file for this package is automatically generated by the
63−`generate-cabal-file.hs` program. The easiest way to accomplish that is to run
64−
65− nix-shell release.nix -A cabal2nix.ghc7102.x86_64-linux.env --run "runhaskell generate-cabal-file.hs >cabal2nix.cabal"
66−
67−where `x86_64-linux` should be replaced with whatever system ID is appropriate
68−for your local machine. Basically, `generate-cabal-file.hs` requires the
69−[cartel](http://hackage.haskell.org/package/cartel) library and `git` to run.
70−
71−With the Cabal file in place, this is a normal Haskell project that can be
72−compiled with `cabal-install`.
73−
74−Users of Nix can build this package by running
75−
76− nix-build release.nix -A cabal2nix.ghc7102.x86_64-linux
77−
78−where, again, `x86_64-linux` should be replaced with the appropriate value.
79−This gives you an executable at `result/bin/cabal2nix`. If you'd like to
80−install the latest release version, then
81−
82− nix-env -f "<nixpkgs>" -iA cabal2nix
83−
84−is the way to go.
Setup.hsnew file+6
@@ -0,0 +1,6 @@
1+module Main (main) where
2+
3+import Distribution.Simple
4+
5+main :: IO ()
6+main = defaultMain
Setup.lhsdeleted−40
@@ -1,40 +0,0 @@
1−#! /usr/bin/env runhaskell
2−
3−> module Main ( main ) where
4−>
5−> import Data.Char
6−> import Data.Maybe
7−> import Distribution.PackageDescription
8−> import Distribution.Simple
9−> import Distribution.Simple.LocalBuildInfo
10−> import Distribution.Simple.Program
11−> import Distribution.Simple.Setup
12−>
13−> main :: IO ()
14−> main = defaultMainWithHooks simpleUserHooks
15−> { hookedPrograms = map simpleProgram programs
16−> , confHook = configure
17−> }
18−>
19−> programs :: [String]
20−> programs = ["nix-instantiate", "nix-build", "nix-env", "nix-store"]
21−>
22−> configure :: (GenericPackageDescription, HookedBuildInfo) -> ConfigFlags -> IO LocalBuildInfo
23−> configure (gpd, hbi) flags = do
24−> lbi' <- confHook simpleUserHooks (gpd, hbi) flags
25−> let paths = map (\p -> (p, maybe p programPath (lookupProgram (simpleProgram p) (withPrograms lbi)))) programs
26−> descr = localPkgDescr lbi'
27−> lib = fromJust (library descr)
28−> libbi = libBuildInfo lib
29−> lbi = lbi' { localPkgDescr = descr
30−> { library = Just (lib { libBuildInfo = libbi { cppOptions = cppOptions libbi ++ map fmtCppArg paths } })
31−> }
32−> }
33−> return lbi
34−>
35−> fmtCppArg :: (String, FilePath) -> String
36−> fmtCppArg (prg, path) = "-DPATH_TO_" ++ map mangle prg ++ "=" ++ show path
37−> where
38−> mangle :: Char -> Char
39−> mangle '-' = '_'
40−> mangle c = toUpper c
cabal2nix.cabal+143−173
@@ -1,182 +1,152 @@
1−-- This file has been generated from package.yaml by hpack version 0.14.1.
2−--
3−-- see: https://github.com/sol/hpack
4−
5−name: cabal2nix
6−version: 2.0.3
7−synopsis: Convert Cabal files into Nix build instructions.
8−description: Convert Cabal files into Nix build instructions. Users of Nix can install the latest version by running:
9− .
10− > nix-env -i cabal2nix
11−category: Distribution, Nix
12−stability: stable
13−homepage: https://github.com/nixos/cabal2nix#readme
14−bug-reports: https://github.com/nixos/cabal2nix/issues
15−author: Peter Simons,
16− Andres Loeh,
17− Benno Fünfstück,
18− Mateusz Kowalczyk,
19− Mathijs Kwik,
20− Michael Alan Dorman,
21− Shea Levy,
22− Dmitry Malikov,
23− Eric Seidel,
24− Nikolay Amiantov,
25− Aycan iRiCAN,
26− John Wiegley,
27− Philipp Hausmann,
28− Spencer Janssen,
29− William Casarin,
30− Adam Vogt,
31− Bryan Gardiner,
32− Corey O'Connor,
33− Cray Elliott,
34− Felix Kunzmann,
35− Gabriel Ebner,
36− Gergely Risko,
37− John Albietz,
38− John Chee,
39− Jussi Maki,
40− Mark Laws,
41− Mark Wotton,
42− Matvey Aksenov,
43− Nicolas Rolland,
44− Oliver Charles,
45− Pascal Wittmann,
46− Patrick John Wheeler,
47− Raymond Gauthier,
48− Renzo Carbonara,
49− Sibi,
50− Tanner Doshier,
51− Tom Hunger,
52− Viktar Basharymau,
53− danbst,
54− karsten gebbert,
55− laMudri,
56− Александр Цамутали
57−maintainer: Peter Simons <simons@cryp.to>
58−license: BSD3
59−license-file: LICENSE
60−tested-with: GHC > 7.10 && < 8.1
61−build-type: Simple
62−cabal-version: >= 1.10
1+name: cabal2nix
2+version: 2.15.1
3+synopsis: Convert Cabal files into Nix build instructions.
4+description:
5+ Convert Cabal files into Nix build instructions. Users of Nix can install the latest
6+ version by running:
7+ .
8+ > nix-env -i cabal2nix
9+license: BSD3
10+license-file: LICENSE
11+author: Peter Simons, Andres Loeh, Benno Fünfstück, Mateusz Kowalczyk,
12+ Michael Alan Dorman, Tom Smalley, Mathijs Kwik, Shea Levy, Dmitry
13+ Malikov, Eric Seidel, Jacob Mitchell, Graham Christensen,
14+ Hamish Mackenzie, Nikolay Amiantov, Aycan iRiCAN, Bryan
15+ Gardiner, Joe Hermaszewski, John Wiegley, Philipp Hausmann,
16+ Spencer Janssen, Tom Hunger, William Casarin, koral,
17+ ksaric, Adam Vogt, Alexey Shmalko, Corey O'Connor, Cray
18+ Elliott, David Johnson, Dmitry Bushev, Domen Kožar, Felix
19+ Kunzmann, Gabriel Ebner, Gergely Risko, Joachim Fasting,
20+ John Albietz, John Chee, Jussi Maki, Lisanna Dettwyler,
21+ Mark Laws, Mark Wotton, Matthew Pickering, Matthew Stewart,
22+ Matvey Aksenov, Nicholas Clarke, Nicolas Rolland, Oliver
23+ Charles, Pascal Wittmann, Patrick John Wheeler, Phil de
24+ Joux, Piotr Bogdan, Profpatsch, Raymond Gauthier, Renzo
25+ Carbonara, Rodney Lorrimar, Sibi, Sukant Hajra, Tanner
26+ Doshier, Vaibhav Sagar, Viktar Basharymau, danbst, karsten
27+ gebbert, laMudri, Александр Цамутали
28+maintainer: Peter Simons <simons@cryp.to>
29+stability: stable
30+tested-with: GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.1
31+category: Distribution, Nix
32+homepage: https://github.com/nixos/cabal2nix#readme
33+bug-reports: https://github.com/nixos/cabal2nix/issues
34+build-type: Simple
35+extra-source-files: README.md
36+ test/golden-test-cases/*.cabal
37+ test/golden-test-cases/*.nix.golden
38+cabal-version: 1.24
6339
6440source-repository head
65− type: git
41+ type: git
6642 location: https://github.com/nixos/cabal2nix
6743
6844library
69− hs-source-dirs:
70− src
71− ghc-options: -Wall
72− build-depends:
73− aeson
74− , ansi-wl-pprint
75− , base < 5
76− , bytestring
77− , Cabal > 1.24
78− , containers
79− , deepseq >= 1.4
80− , directory
81− , distribution-nixpkgs
82− , filepath
83− , hackage-db
84− , language-nix
85− , lens
86− , optparse-applicative
87− , pretty >= 1.1.2
88− , process
89− , SHA
90− , split
91− , text
92− , transformers
93− , yaml
94− exposed-modules:
95− Distribution.Nixpkgs.Fetch
96− Distribution.Nixpkgs.Haskell
97− Distribution.Nixpkgs.Haskell.BuildInfo
98− Distribution.Nixpkgs.Haskell.Constraint
99− Distribution.Nixpkgs.Haskell.Derivation
100− Distribution.Nixpkgs.Haskell.FromCabal
101− Distribution.Nixpkgs.Haskell.FromCabal.Configuration
102− Distribution.Nixpkgs.Haskell.FromCabal.Flags
103− Distribution.Nixpkgs.Haskell.FromCabal.License
104− Distribution.Nixpkgs.Haskell.FromCabal.Name
105− Distribution.Nixpkgs.Haskell.FromCabal.Normalize
106− Distribution.Nixpkgs.Haskell.FromCabal.PostProcess
107− Distribution.Nixpkgs.Haskell.Hackage
108− Distribution.Nixpkgs.Haskell.OrphanInstances
109− Distribution.Nixpkgs.Haskell.PackageSourceSpec
110− other-modules:
111− Paths_cabal2nix
112− default-language: Haskell2010
45+ exposed-modules: Cabal2nix
46+ Distribution.Nixpkgs.Fetch
47+ Distribution.Nixpkgs.Haskell
48+ Distribution.Nixpkgs.Haskell.BuildInfo
49+ Distribution.Nixpkgs.Haskell.Constraint
50+ Distribution.Nixpkgs.Haskell.Derivation
51+ Distribution.Nixpkgs.Haskell.FromCabal
52+ Distribution.Nixpkgs.Haskell.FromCabal.Configuration
53+ Distribution.Nixpkgs.Haskell.FromCabal.Flags
54+ Distribution.Nixpkgs.Haskell.FromCabal.License
55+ Distribution.Nixpkgs.Haskell.FromCabal.Name
56+ Distribution.Nixpkgs.Haskell.FromCabal.Normalize
57+ Distribution.Nixpkgs.Haskell.FromCabal.PostProcess
58+ Distribution.Nixpkgs.Haskell.Hackage
59+ Distribution.Nixpkgs.Haskell.OrphanInstances
60+ Distribution.Nixpkgs.Haskell.PackageSourceSpec
61+ other-modules: Paths_cabal2nix
62+ hs-source-dirs: src
63+ build-depends: base > 4.11
64+ , Cabal == 3.0.*
65+ , aeson > 1
66+ , ansi-wl-pprint
67+ , bytestring
68+ , containers >= 0.5.9
69+ , deepseq >= 1.4
70+ , directory
71+ , distribution-nixpkgs >= 1.3.1
72+ , filepath
73+ , hackage-db >= 2.0.1
74+ , hopenssl >= 2
75+ , hpack >= 0.29.6
76+ , language-nix
77+ , lens
78+ , optparse-applicative
79+ , pretty >= 1.1.2
80+ , process
81+ , split
82+ , text
83+ , time
84+ , transformers
85+ , yaml
86+ default-language: Haskell2010
87+ other-extensions: MultiParamTypeClasses
88+ ScopedTypeVariables
89+ FlexibleInstances
90+ CPP
91+ TemplateHaskell
92+ StandaloneDeriving
93+ RecordWildCards
94+ OverloadedStrings
95+ DeriveGeneric
96+ ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates
97+ -Wredundant-constraints
11398
11499executable cabal2nix
115− main-is: Main.hs
116− hs-source-dirs:
117− cabal2nix
118− ghc-options: -Wall
119− build-depends:
120− aeson
121− , ansi-wl-pprint
122− , base < 5
123− , bytestring
124− , Cabal > 1.24
125− , containers
126− , deepseq >= 1.4
127− , directory
128− , distribution-nixpkgs
129− , filepath
130− , hackage-db
131− , language-nix
132− , lens
133− , optparse-applicative
134− , pretty >= 1.1.2
135− , process
136− , SHA
137− , split
138− , text
139− , transformers
140− , yaml
141− , cabal2nix
142− other-modules:
143− Paths_cabal2nix
144− default-language: Haskell2010
100+ main-is: Main.hs
101+ hs-source-dirs: cabal2nix
102+ build-depends: base, cabal2nix
103+ default-language: Haskell2010
104+ ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates
105+ -Wredundant-constraints
145106
146107executable hackage2nix
147− main-is: Main.hs
148− hs-source-dirs:
149− hackage2nix
150− ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
151− build-depends:
152− aeson
153− , ansi-wl-pprint
154− , base < 5
155− , bytestring
156− , Cabal > 1.24
157− , containers
158− , deepseq >= 1.4
159− , directory
160− , distribution-nixpkgs
161− , filepath
162− , hackage-db
163− , language-nix
164− , lens
165− , optparse-applicative
166− , pretty >= 1.1.2
167− , process
168− , SHA
169− , split
170− , text
171− , transformers
172− , yaml
173− , cabal2nix
174− , monad-par
175− , monad-par-extras
176− , mtl
177− , time
178− , utf8-string
179− other-modules:
180− Paths_cabal2nix
181− HackageGit
182− default-language: Haskell2010
108+ main-is: Main.hs
109+ other-modules: HackageGit
110+ Paths_cabal2nix
111+ hs-source-dirs: hackage2nix
112+ build-depends: base < 5
113+ , Cabal
114+ , aeson
115+ , bytestring
116+ , cabal2nix
117+ , containers
118+ , directory
119+ , distribution-nixpkgs >= 1.2
120+ , filepath
121+ , hopenssl >= 2
122+ , language-nix
123+ , lens
124+ , monad-par
125+ , monad-par-extras
126+ , mtl
127+ , optparse-applicative
128+ , pretty >= 1.1.2
129+ default-language: Haskell2010
130+ ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates
131+ -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-maxN16
132+
133+test-suite regression-test
134+ type: exitcode-stdio-1.0
135+ main-is: Main.hs
136+ hs-source-dirs: test
137+ build-depends: base
138+ , Cabal
139+ , cabal2nix
140+ , containers
141+ , directory
142+ , filepath
143+ , language-nix
144+ , lens
145+ , pretty
146+ , process > 1.2
147+ , tasty
148+ , tasty-golden
149+ default-language: Haskell2010
150+ build-tools: cabal2nix
151+ ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates
152+ -Wredundant-constraints -threaded -with-rtsopts=-K64K
cabal2nix/Main.hs+2−161
@@ -1,163 +1,4 @@
1−{-# LANGUAGE RecordWildCards #-}
2−{-# LANGUAGE OverloadedStrings #-}
3−
4−module Main ( main ) where
5−
6−import Control.Exception ( bracket )
7−import Control.Lens
8−import Data.Maybe ( fromMaybe )
9−import Data.Monoid ( (<>) )
10−import qualified Data.Set as Set
11−import Data.String
12−import qualified Distribution.Compat.ReadP as P
13−import Distribution.Compiler
14−import Distribution.Nixpkgs.Fetch
15−import Distribution.Nixpkgs.Haskell
16−import Distribution.Nixpkgs.Haskell.FromCabal
17−import Distribution.Nixpkgs.Haskell.PackageSourceSpec
18−import Distribution.Nixpkgs.Meta
19−import Distribution.PackageDescription ( FlagName(..), FlagAssignment )
20−import Distribution.Simple.Utils ( lowercase )
21−import Distribution.System
22−import Distribution.Text
23−import Language.Nix
24−import Options.Applicative
25−import Paths_cabal2nix ( version )
26−import System.IO ( hFlush, stdout, stderr )
27−import qualified Text.PrettyPrint.ANSI.Leijen as P2 hiding ( (<$>), (<>) )
28−import Text.PrettyPrint.HughesPJClass ( Doc, Pretty(..), text, vcat, hcat, semi )
29−
30−data Options = Options
31− { optSha256 :: Maybe String
32− , optMaintainer :: [String]
33−--, optPlatform :: [String] -- TODO: fix command line handling of platforms
34− , optHaddock :: Bool
35− , optDoCheck :: Bool
36− , optJailbreak :: Bool
37− , optRevision :: Maybe String
38− , optHyperlinkSource :: Bool
39− , optEnableLibraryProfiling :: Bool
40− , optEnableExecutableProfiling :: Bool
41− , optEnableProfiling :: Maybe Bool
42− , optExtraArgs :: [String]
43− , optHackageDb :: Maybe FilePath
44− , optNixShellOutput :: Bool
45− , optFlags :: [String]
46− , optCompiler :: CompilerId
47− , optSystem :: Platform
48− , optUrl :: String
49− }
50− deriving (Show)
51−
52−options :: Parser Options
53−options = Options
54− <$> optional (strOption $ long "sha256" <> metavar "HASH" <> help "sha256 hash of source tarball")
55− <*> many (strOption $ long "maintainer" <> metavar "MAINTAINER" <> help "maintainer of this package (may be specified multiple times)")
56−-- <*> many (strOption $ long "platform" <> metavar "PLATFORM" <> help "supported build platforms (may be specified multiple times)")
57− <*> flag True False (long "no-haddock" <> help "don't run Haddock when building this package")
58− <*> flag True False (long "no-check" <> help "don't run regression test suites of this package")
59− <*> switch (long "jailbreak" <> help "disregard version restrictions on build inputs")
60− <*> optional (strOption $ long "revision" <> help "revision to use when fetching from VCS")
61− <*> flag True False (long "no-hyperlink-source" <> help "don't generate pretty-printed source code for the documentation")
62− <*> switch (long "enable-library-profiling" <> help "enable library profiling in the generated build")
63− <*> switch (long "enable-executable-profiling" <> help "enable executable profiling in the generated build")
64− <*> optional (switch (long "enable-profiling" <> help "enable both library and executable profiling in the generated build"))
65− <*> many (strOption $ long "extra-arguments" <> help "extra parameters required for the function body")
66− <*> optional (strOption $ long "hackage-db" <> metavar "PATH" <> help "path to the local hackage db in tar format")
67− <*> switch (long "shell" <> help "generate output suitable for nix-shell")
68− <*> many (strOption $ short 'f' <> long "flag" <> help "Cabal flag (may be specified multiple times)")
69− <*> option (readP parse) (long "compiler" <> help "compiler to use when evaluating the Cabal file" <> value buildCompilerId <> showDefaultWith display)
70− <*> option (readP parsePlatform) (long "system" <> help "target system to use when evaluating the Cabal file" <> value buildPlatform <> showDefaultWith display)
71− <*> strArgument (metavar "URI")
72−
73−readP :: P.ReadP a a -> ReadM a
74−readP p = eitherReader $ \s -> case [ r' | (r',"") <- P.readP_to_S p s ] of
75− (r:_) -> Right r
76− _ -> Left ("invalid value " ++ show s)
77−
78−parsePlatform :: P.ReadP r Platform
79−parsePlatform = do arch <- P.choice [P.string "i686" >> return I386, P.string "x86_64" >> return X86_64]
80− _ <- P.char '-'
81− os <- P.choice [P.string "linux" >> return Linux, P.string "darwin" >> return OSX]
82− return (Platform arch os)
83−
84−pinfo :: ParserInfo Options
85−pinfo = info
86− ( helper
87− <*> infoOption ("cabal2nix " ++ display version) (long "version" <> help "Show version number")
88− <*> options
89− )
90− ( fullDesc
91− <> header "cabal2nix converts Cabal files into build instructions for Nix."
92− <> progDescDoc (Just (P2.vcat
93− [ P2.text ""
94− , P2.text "Recognized URI schemes:"
95− , P2.text ""
96− , P2.text " cabal://pkgname-pkgversion download the specified package from Hackage"
97− , P2.text " cabal://pkgname download latest version of this package from Hackage"
98− , P2.text " file:///local/path load the Cabal file from the local disk"
99− , P2.text " /local/path abbreviated version of file URI"
100− , P2.text " <git/svn/bzr/hg URL> download the source from the specified repository"
101− , P2.text ""
102− , P2.fillSep (map P2.text (words ( "If the URI refers to a cabal file, information for building the package "
103− ++ "will be retrieved from that file, but hackage will be used as a source "
104− ++ "for the derivation. Otherwise, the supplied URI will be used to as the "
105− ++ "souce for the derivation and the information is taken from the cabal file "
106− ++ "at the root of the downloaded source."
107− )))
108− ]))
109− )
1+import qualified Cabal2nix as C
1102
1113main :: IO ()
112−main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
113− Options {..} <- execParser pinfo
114−
115− pkg <- getPackage optHackageDb $ Source optUrl (fromMaybe "" optRevision) (maybe UnknownHash Guess optSha256)
116−
117− let
118− deriv :: Derivation
119− deriv = fromGenericPackageDescription (const True)
120− (\i -> Just (binding # (i, path # [i])))
121− optSystem
122− (unknownCompilerInfo optCompiler NoAbiTag)
123− (readFlagList optFlags)
124− []
125− (pkgCabal pkg)
126− & src .~ pkgSource pkg
127− & runHaddock .~ optHaddock
128− & jailbreak .~ optJailbreak
129− & hyperlinkSource .~ optHyperlinkSource
130− & enableLibraryProfiling .~ (fromMaybe False optEnableProfiling || optEnableLibraryProfiling)
131− & enableExecutableProfiling .~ (fromMaybe False optEnableProfiling || optEnableExecutableProfiling)
132− & metaSection.maintainers .~ Set.fromList (map (review ident) optMaintainer)
133−-- & metaSection.platforms .~ Set.fromList optPlatform
134− & doCheck &&~ optDoCheck
135− & extraFunctionArgs %~ Set.union (Set.fromList ("inherit stdenv":map (fromString . ("inherit " ++)) optExtraArgs))
136−
137− shell :: Doc
138− shell = vcat
139− [ text "{ nixpkgs ? import <nixpkgs> {}, compiler ? \"default\" }:"
140− , text ""
141− , text "let"
142− , text ""
143− , text " inherit (nixpkgs) pkgs;"
144− , text ""
145− , hcat [ text " f = ", pPrint deriv, semi ]
146− , text ""
147− , text " haskellPackages = if compiler == \"default\""
148− , text " then pkgs.haskellPackages"
149− , text " else pkgs.haskell.packages.${compiler};"
150− , text ""
151− , text " drv = haskellPackages.callPackage f {};"
152− , text ""
153− , text "in"
154− , text ""
155− , text " if pkgs.lib.inNixShell then drv.env else drv"
156− ]
157−
158− print (if optNixShellOutput then shell else pPrint deriv)
159−
160−readFlagList :: [String] -> FlagAssignment
161−readFlagList = map tagWithValue
162− where tagWithValue ('-':fname) = (FlagName (lowercase fname), False)
163− tagWithValue fname = (FlagName (lowercase fname), True)
4+main = C.main
doc/01-use-function-application-to-escape-override-hell.md+1−1
@@ -116,7 +116,7 @@ reflection. Nixpkgs defines the Haskell package set recursively as a function
116116produce and then uses that information to the produce the attribute set it's
117117already received as an argument. It's a mind-boggling way to define a recursive
118118attribute set `rec { ... }` without actually using the `rec` keyword. Every
119−computable function of this kind has a fixed point: a value `x` that satifies
119+computable function of this kind has a fixed point: a value `x` that satisfies
120120`f x = x`. That `x` is the result we actually want --- it's an ordinary
121121attribute set with all the `self`-references resolved and replaced by actual
122122values. The details of fixed points aren't important, though. What's important
doc/hal8-folien.md+1−1
@@ -284,6 +284,6 @@ BSD, etc. ausführen.
284284
285285- `http://nixos.org/wiki/Haskell`
286286
287−- `nix-dev@lists.science.uu.nl`
287+- `https://groups.google.com/forum/#!forum/nix-devel`
288288
289289- `#nixos` auf `irc.freenode.org`
doc/hal8.md+1−1
@@ -190,7 +190,7 @@ Haskell Platform later, so one doesn't have to worry that every single install
190190is going to be that expensive.
191191
192192In its last step, `nix-env` creates a "user environment" at
193−`$HOME/.nix-profile`, which simplies use of the installed packages a lot. That
193+`$HOME/.nix-profile`, which simplifies use of the installed packages a lot. That
194194environment uses symlinks to create a view of the Nix store that combines those
195195packages that have been installed into a single hierarchy. For example, the
196196path `~/.nix-profile/bin/ghc` will be a symlink to
doc/nixcon-2015-slides.md+1−1
@@ -352,6 +352,6 @@ can change the definition of `mkDerivation`:
352352
353353- <http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure>
354354
355−- <http://lists.science.uu.nl/mailman/listinfo/nix-dev>
355+- <https://groups.google.com/forum/#!forum/nix-devel>
356356
357357- `#nixos` at `irc.freenode.org`
doc/nixos-meetup-3-slides.md+4−4
@@ -342,9 +342,9 @@ Haskell-specific resources:
342342- https://github.com/NixOS/nixpkgs/issues/4941
343343
344344- A Journey into the Haskell NG infrastructure
345− - Part 1: http://lists.science.uu.nl/pipermail/nix-dev/2015-January/015591.html
346− - Part 2: http://lists.science.uu.nl/pipermail/nix-dev/2015-January/015608.html
347− - Part 3: http://lists.science.uu.nl/pipermail/nix-dev/2015-April/016912.html
345+ - Part 1: https://nixos.org/nix-dev/2015-January/015591.html
346+ - Part 2: https://nixos.org/nix-dev/2015-January/015608.html
347+ - Part 3: https://nixos.org/nix-dev/2015-April/016912.html
348348
349349- Oliver Charles Wiki: http://wiki.ocharles.org.uk/Nix
350350
@@ -352,6 +352,6 @@ General Nix resources:
352352
353353- `https://nixos.org/`
354354
355−- `nix-dev@lists.science.uu.nl`
355+- https://groups.google.com/forum/#!forum/nix-devel
356356
357357- `#nixos` auf `irc.freenode.org`
hackage2nix/HackageGit.hs+15−23
@@ -1,25 +1,27 @@
11{-# LANGUAGE OverloadedStrings #-}
22{-# LANGUAGE TemplateHaskell #-}
33
4−module HackageGit where
4+module HackageGit
5+ ( Hackage, readHackage, readPackage, readPackageMeta
6+ , SHA256Hash, hashes
7+ )
8+ where
59
6−import Control.Monad
710import Control.Lens hiding ( (<.>) )
11+import Control.Monad
812import Data.Aeson
9−import Data.ByteString.Char8 ( ByteString )
1013import qualified Data.ByteString.Char8 as BS
11−import Data.ByteString.Lazy.Char8 ( fromStrict )
12−import Data.Digest.Pure.SHA ( sha256, showDigest )
1314import Data.Map as Map
1415import Data.Set as Set
1516import Data.String
16−import Data.String.UTF8 ( toString, fromRep )
17+import Distribution.Nixpkgs.Hashes
1718import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
1819import Distribution.Package
1920import Distribution.PackageDescription
20−import Distribution.PackageDescription.Parse ( parsePackageDescription, ParseResult(..) )
21+import Distribution.PackageDescription.Parsec ( parseGenericPackageDescriptionMaybe )
2122import Distribution.Text
2223import Distribution.Version
24+import OpenSSL.Digest ( digest, digestByName )
2325import System.Directory
2426import System.FilePath
2527
@@ -31,34 +33,26 @@ readHackage path = getSubDirs path >>= foldM discoverPackageVersions mempty
3133 discoverPackageVersions :: Hackage -> String -> IO Hackage
3234 discoverPackageVersions db pkg = do
3335 vs <- getSubDirs (path </> pkg)
34− return (Map.insert (PackageName pkg) (Set.fromList (Prelude.map fromString vs)) db)
36+ return (Map.insert (mkPackageName pkg) (Set.fromList (Prelude.map fromString vs)) db)
3537
3638getSubDirs :: FilePath -> IO [FilePath]
3739getSubDirs path = do
3840 let isDirectory p = doesDirectoryExist (path </> p)
3941 getDirectoryContents path >>= filterM isDirectory . Prelude.filter (\x -> head x /= '.')
4042
41−decodeUTF8 :: ByteString -> String
42−decodeUTF8 = toString . fromRep
43−
4443type SHA256Hash = String
4544
4645readPackage :: FilePath -> PackageIdentifier -> IO (GenericPackageDescription, SHA256Hash)
4746readPackage dirPrefix (PackageIdentifier name version) = do
4847 let cabalFile = dirPrefix </> unPackageName name </> display version </> unPackageName name <.> "cabal"
4948 buf <- BS.readFile cabalFile
50− cabal <- case parsePackageDescription (decodeUTF8 buf) of
51− ParseOk _ a -> return a
52− ParseFailed err -> fail (cabalFile ++ ": " ++ show err)
53− return (cabal, mkSHA256 buf)
54−
55−mkSHA256 :: ByteString -> SHA256Hash
56−mkSHA256 = showDigest . sha256 . fromStrict
49+ cabal <- case parseGenericPackageDescriptionMaybe buf of
50+ Just a -> return a
51+ Nothing -> fail ("cannot parse cabal file " ++ cabalFile)
52+ return (cabal, printSHA256 (digest (digestByName "sha256") buf))
5753
5854declareLenses [d|
5955 data Meta = Meta { hashes :: Map String String
60− , locations :: [String]
61− , pkgsize :: Int
6256 }
6357 deriving (Show)
6458 |]
@@ -66,8 +60,6 @@ declareLenses [d|
6660instance FromJSON Meta where
6761 parseJSON (Object v) = Meta
6862 <$> v .: "package-hashes"
69− <*> v .: "package-locations"
70− <*> v .: "package-size"
7163 parseJSON o = fail ("invalid Cabal metadata: " ++ show o)
7264
7365readPackageMeta :: FilePath -> PackageIdentifier -> IO Meta
@@ -76,4 +68,4 @@ readPackageMeta dirPrefix (PackageIdentifier name version) = do
7668 buf <- BS.readFile metaFile
7769 case eitherDecodeStrict buf of
7870 Left msg -> fail (metaFile ++ ": " ++ msg)
79− Right x -> return x
71+ Right x -> return $ over (hashes . ix "SHA256") (printSHA256 . packHex) x
hackage2nix/Main.hs+31−18
@@ -10,11 +10,10 @@ import Control.Monad
1010import Control.Monad.Par.Combinator
1111import Control.Monad.Par.IO
1212import Control.Monad.Trans ( liftIO )
13−import Data.List
13+import Data.List ( intercalate )
1414import Data.Map.Strict ( Map )
1515import qualified Data.Map.Strict as Map
1616import Data.Maybe
17−import Data.Monoid
1817import Data.Set ( Set )
1918import qualified Data.Set as Set
2019import Data.String
@@ -24,10 +23,11 @@ import Distribution.Nixpkgs.Haskell.Constraint
2423import Distribution.Nixpkgs.Haskell.FromCabal
2524import Distribution.Nixpkgs.Haskell.FromCabal.Configuration as Config
2625import Distribution.Nixpkgs.Haskell.FromCabal.Flags
26+import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
2727import Distribution.Nixpkgs.Meta
2828import Distribution.Nixpkgs.PackageMap
2929import Distribution.Package
30−import Distribution.PackageDescription hiding ( options, buildDepends, extraLibs, buildTools )
30+import Distribution.PackageDescription hiding ( options, extraLibs, buildTools, homepage )
3131import Distribution.System
3232import Distribution.Text
3333import Distribution.Version
@@ -63,7 +63,7 @@ main = do
6363 pinfo :: ParserInfo CLI
6464 pinfo = info
6565 ( helper
66− <*> infoOption ("hackage2nix " ++ display Main.version) (long "version" <> help "Show version number")
66+ <*> infoOption ("hackage2nix " ++ prettyShow Main.version) (long "version" <> help "Show version number")
6767 <*> cliOptions
6868 )
6969 ( fullDesc
@@ -72,13 +72,15 @@ main = do
7272 CLI {..} <- execParser pinfo
7373
7474 config <- readConfiguration (nixpkgsRepository </> configFile)
75− nixpkgs <- readNixpkgPackageMap nixpkgsRepository Nothing
75+ nixpkgs <- readNixpkgPackageMap ["-f", nixpkgsRepository, "--arg", "config", "{ allowAliases = false; }"]
7676 preferredVersions <- readPreferredVersions (fromMaybe (hackageRepository </> "preferred-versions") preferredVersionsFile)
7777 let fixup = Map.delete "acme-everything" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
7878 . Map.delete "som" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
7979 . Map.delete "type" -- TODO: https://github.com/NixOS/cabal2nix/issues/163
8080 . Map.delete "control-invariants" -- TODO: depends on "assert"
81− . Map.delete "hermes" -- TODO: https://github.com/haskell/hackage-server/issues/436
81+ . Map.delete "with" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
82+ . Map.delete "telega" -- TODO: depends on "with"
83+ . over (at "hermes") (fmap (set (contains "1.3.4.3") False)) -- TODO: https://github.com/haskell/hackage-server/issues/436
8284 hackage <- fixup <$> readHackage hackageRepository
8385 let
8486 hackagePackagesFile :: FilePath
@@ -91,7 +93,7 @@ main = do
9193 latestVersionSet = Map.map Set.findMax (Map.filter (not . Set.null) (Map.mapWithKey (enforcePreferredVersions preferredVersions) hackage))
9294
9395 defaultPackageOverridesSet :: PackageSet
94− defaultPackageOverridesSet = Map.fromList [ (name, resolveConstraint c hackage) | c@(Dependency name _) <- defaultPackageOverrides config ]
96+ defaultPackageOverridesSet = Map.fromList [ (name, resolveConstraint c hackage) | c@(Dependency name _ _) <- defaultPackageOverrides config ]
9597
9698 generatedDefaultPackageSet :: PackageSet
9799 generatedDefaultPackageSet = (defaultPackageOverridesSet `Map.union` latestVersionSet) `Map.difference` corePackageSet
@@ -104,7 +106,7 @@ main = do
104106
105107 extraPackageSet :: PackageMultiSet
106108 extraPackageSet = Map.unionsWith Set.union
107− [ Map.singleton name (Set.singleton (resolveConstraint c hackage)) | c@(Dependency name _) <- extraPackages config ]
109+ [ Map.singleton name (Set.singleton (resolveConstraint c hackage)) | c@(Dependency name _ _) <- extraPackages config ]
108110
109111 db :: PackageMultiSet
110112 db = Map.unionsWith Set.union [ Map.map Set.singleton generatedDefaultPackageSet
@@ -114,7 +116,7 @@ main = do
114116 ]
115117
116118 haskellResolver :: Dependency -> Bool
117− haskellResolver (Dependency name vrange)
119+ haskellResolver (Dependency name vrange _)
118120 | Just v <- Map.lookup name corePackageSet = v `withinRange` vrange
119121 | Just v <- Map.lookup name generatedDefaultPackageSet = v `withinRange` vrange
120122 | otherwise = False
@@ -133,8 +135,13 @@ main = do
133135 (descr, cabalSHA256) <- readPackage hackageRepository pkgId
134136 meta <- readPackageMeta hackageRepository pkgId
135137
136− let isInDefaultPackageSet :: Bool
137− isInDefaultPackageSet = maybe False (== v) (Map.lookup name generatedDefaultPackageSet)
138+ let isInDefaultPackageSet, isHydraEnabled, isBroken :: Bool
139+ isInDefaultPackageSet = (== Just v) (Map.lookup name generatedDefaultPackageSet)
140+ isHydraEnabled = isInDefaultPackageSet && not (isBroken || name `Set.member` dontDistributePackages config)
141+ isBroken = any (withinRange v) [ vr | Dependency pn vr _ <- brokenPackages config, pn == name ]
142+
143+ droppedPlatforms :: Set Platform
144+ droppedPlatforms = Map.findWithDefault mempty name (unsupportedPlatforms config)
138145
139146 tarballSHA256 :: SHA256Hash
140147 tarballSHA256 = fromMaybe (error (display pkgId ++ ": meta data has no hash for the tarball"))
@@ -148,14 +155,17 @@ main = do
148155
149156 drv :: Derivation
150157 drv = fromGenericPackageDescription haskellResolver nixpkgsResolver targetPlatform (compilerInfo config) flagAssignment [] descr
151− & src .~ DerivationSource "url" ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") "" tarballSHA256
158+ & src .~ urlDerivationSource ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") tarballSHA256
152159 & editedCabalFile .~ cabalSHA256
153− & metaSection.hydraPlatforms %~ (`Set.difference` Map.findWithDefault Set.empty name (dontDistributePackages config))
160+ & metaSection.platforms %~ (`Set.difference` Map.findWithDefault Set.empty name (unsupportedPlatforms config))
161+ & metaSection.hydraPlatforms %~ (if Set.null droppedPlatforms then id else (`Set.difference` droppedPlatforms))
162+ & metaSection.hydraPlatforms %~ (if isHydraEnabled then id else const Set.empty)
163+ & metaSection.broken ||~ isBroken
154164 & metaSection.maintainers .~ Map.findWithDefault Set.empty name globalPackageMaintainers
155− & metaSection.hydraPlatforms %~ (if isInDefaultPackageSet then id else const Set.empty)
165+ & metaSection.homepage .~ ""
156166
157167 overrides :: Doc
158− overrides = fcat $ punctuate space [ disp b <> semi | b <- Set.toList ((view (dependencies . each) drv) `Set.union` view extraFunctionArgs drv), not (isFromHackage b) ]
168+ overrides = fcat $ punctuate space [ pPrint b <> semi | b <- Set.toList (view (dependencies . each) drv `Set.union` view extraFunctionArgs drv), not (isFromHackage b) ]
159169 return $ render $ nest 2 $
160170 hang (doubleQuotes (text attr) <+> equals <+> text "callPackage") 2 (parens (pPrint drv)) <+> (braces overrides <> semi)
161171
@@ -189,14 +199,17 @@ enforcePreferredVersions cs pkg = Set.filter (\v -> PackageIdentifier pkg v `sat
189199
190200resolveConstraint :: Constraint -> Hackage -> Version
191201resolveConstraint c = fromMaybe (error msg) . resolveConstraint' c
192− where msg = "constraint " ++ display c ++ " cannot be resolved in Hackage"
202+ where msg = unlines [ "constraint " ++ display c ++ " cannot be resolved in Hackage"
203+ , "This could be due the package being missing in the hackage directory"
204+ , "or the file system not being case sensitive."
205+ ]
193206
194207resolveConstraint' :: Constraint -> Hackage -> Maybe Version
195−resolveConstraint' (Dependency name vrange) hackage
208+resolveConstraint' (Dependency name vrange _) hackage
196209 | Just vset' <- Map.lookup name hackage
197210 , vset <- Set.filter (`withinRange` vrange) vset'
198211 , not (Set.null vset) = Just (Set.findMax vset)
199212 | otherwise = Nothing
200213
201214mangle :: PackageIdentifier -> String
202−mangle (PackageIdentifier (PackageName name) v) = name ++ '_' : [ if c == '.' then '_' else c | c <- display v ]
215+mangle (PackageIdentifier name v) = unPackageName name ++ '_' : [ if c == '.' then '_' else c | c <- display v ]
hackage2nix/README.mdnew file+36
@@ -0,0 +1,36 @@
1+# Hackage2nix
2+
3+This tool is used to update the `hackage-packages.nix` file in the nixpkgs repo.
4+Most of the time we will not need run this manually (since it is run automatically
5+on the upstream nixpkgs). The cases when we would need to run this manually are:
6+
7+* We have changed hackage2nix in some way and we want to check that it
8+behaves correctly.
9+
10+* We have a fork of nixpkgs where we have added or changed
11+the name or location in nixpkgs of a native package used by a hackage package
12+and we want to check that hackage-packages.nix will be updated correctly.
13+
14+**Important:** this must be run on a **case sensitive file system**.
15+On macOS you can use [this](https://gist.github.com/dixson3/8360571) to create one
16+(you can replace 60g with 4g as that should be plenty).
17+
18+There is a [video on YouTube](https://www.youtube.com/watch?v=qX0mgtSm360)
19+that gives a thorough walk-through of these steps.
20+
21+#### Setup
22+Replace `git@github.com:NixOS/nixpkgs.git` with a fork you have access to.
23+```
24+git clone git@github.com:NixOS/cabal2nix.git
25+cd cabal2nix
26+git clone git@github.com:NixOS/nixpkgs.git
27+git clone git@github.com:commercialhaskell/all-cabal-hashes.git --branch hackage hackage
28+cabal install
29+```
30+
31+#### Running Hackage2nix
32+Runs hackage2nix and pushes a commit with the updated `hackage-packages.nix`
33+file to your fork of `nixpkgs`.
34+```
35+./update-nixpkgs.sh
36+```
package.yamldeleted−131
@@ -1,131 +0,0 @@
1−name: cabal2nix
2−version: 2.0.3
3−synopsis: Convert Cabal files into Nix build instructions.
4−author:
5− - Peter Simons
6− - Andres Loeh
7− - Benno Fünfstück
8− - Mateusz Kowalczyk
9− - Mathijs Kwik
10− - Michael Alan Dorman
11− - Shea Levy
12− - Dmitry Malikov
13− - Eric Seidel
14− - Nikolay Amiantov
15− - Aycan iRiCAN
16− - John Wiegley
17− - Philipp Hausmann
18− - Spencer Janssen
19− - William Casarin
20− - Adam Vogt
21− - Bryan Gardiner
22− - Corey O'Connor
23− - Cray Elliott
24− - Felix Kunzmann
25− - Gabriel Ebner
26− - Gergely Risko
27− - John Albietz
28− - John Chee
29− - Jussi Maki
30− - Mark Laws
31− - Mark Wotton
32− - Matvey Aksenov
33− - Nicolas Rolland
34− - Oliver Charles
35− - Pascal Wittmann
36− - Patrick John Wheeler
37− - Raymond Gauthier
38− - Renzo Carbonara
39− - Sibi
40− - Tanner Doshier
41− - Tom Hunger
42− - Viktar Basharymau
43− - danbst
44− - karsten gebbert
45− - laMudri
46− - Александр Цамутали
47−maintainer: Peter Simons <simons@cryp.to>
48−license: BSD3
49−license-file: LICENSE
50−github: nixos/cabal2nix
51−category: Distribution, Nix
52−stability: stable
53−tested-with: GHC > 7.10 && < 8.1
54−description: >
55− Convert Cabal files into Nix build instructions. Users of Nix can install the
56− latest version by running:
57−
58− .
59−
60− > nix-env -i cabal2nix
61−
62−ghc-options: -Wall
63−
64−dependencies:
65− - aeson
66− - ansi-wl-pprint
67− - base < 5
68− - bytestring
69− - Cabal > 1.24
70− - containers
71− - deepseq >= 1.4
72− - directory
73− - distribution-nixpkgs
74− - filepath
75− - hackage-db
76− - language-nix
77− - lens
78− - optparse-applicative
79− - pretty >= 1.1.2
80− - process
81− - SHA
82− - split
83− - text
84− - transformers
85− - yaml
86−
87−library:
88− source-dirs: src
89− exposed-modules:
90− - Distribution.Nixpkgs.Fetch
91− - Distribution.Nixpkgs.Haskell
92− - Distribution.Nixpkgs.Haskell.BuildInfo
93− - Distribution.Nixpkgs.Haskell.Constraint
94− - Distribution.Nixpkgs.Haskell.Derivation
95− - Distribution.Nixpkgs.Haskell.FromCabal
96− - Distribution.Nixpkgs.Haskell.FromCabal.Configuration
97− - Distribution.Nixpkgs.Haskell.FromCabal.Flags
98− - Distribution.Nixpkgs.Haskell.FromCabal.License
99− - Distribution.Nixpkgs.Haskell.FromCabal.Name
100− - Distribution.Nixpkgs.Haskell.FromCabal.Normalize
101− - Distribution.Nixpkgs.Haskell.FromCabal.PostProcess
102− - Distribution.Nixpkgs.Haskell.Hackage
103− - Distribution.Nixpkgs.Haskell.OrphanInstances
104− - Distribution.Nixpkgs.Haskell.PackageSourceSpec
105−
106−executables:
107− cabal2nix:
108− main: Main.hs
109− source-dirs: cabal2nix
110− other-modules:
111− - Paths_cabal2nix
112− dependencies:
113− - cabal2nix
114−
115− hackage2nix:
116− main: Main.hs
117− source-dirs: hackage2nix
118− other-modules:
119− - Paths_cabal2nix
120− - HackageGit
121− dependencies:
122− - cabal2nix
123− - monad-par
124− - monad-par-extras
125− - mtl
126− - time
127− - utf8-string
128− ghc-options:
129− - -threaded
130− - -rtsopts
131− - -with-rtsopts=-N
src/Cabal2nix.hsnew file+276
@@ -0,0 +1,276 @@
1+{-# LANGUAGE LambdaCase #-}
2+{-# LANGUAGE OverloadedStrings #-}
3+{-# LANGUAGE RecordWildCards #-}
4+
5+module Cabal2nix
6+ ( main, cabal2nix, cabal2nix', cabal2nixWithDB, parseArgs
7+ , Options(..)
8+ )
9+ where
10+
11+import Control.Exception ( bracket )
12+import Control.Lens
13+import Control.Monad
14+import Data.List ( intercalate, isPrefixOf )
15+import Data.List.Split
16+import Data.Maybe ( fromMaybe, isJust, listToMaybe )
17+import qualified Data.Set as Set
18+import Data.String
19+import Data.Time
20+import Distribution.Compiler
21+import Distribution.Nixpkgs.Fetch
22+import Distribution.Nixpkgs.Haskell
23+import Distribution.Nixpkgs.Haskell.FromCabal
24+import Distribution.Nixpkgs.Haskell.FromCabal.Flags
25+import qualified Distribution.Nixpkgs.Haskell.FromCabal.PostProcess as PP (pkg)
26+import qualified Distribution.Nixpkgs.Haskell.Hackage as DB
27+import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
28+import Distribution.Nixpkgs.Haskell.PackageSourceSpec
29+import Distribution.Nixpkgs.Meta
30+import Distribution.Package ( packageId )
31+import Distribution.PackageDescription ( mkFlagName, mkFlagAssignment, FlagAssignment )
32+import Distribution.Parsec as P
33+import Distribution.Simple.Utils ( lowercase )
34+import Distribution.System
35+import Language.Nix
36+import Options.Applicative
37+import Paths_cabal2nix ( version )
38+import System.Environment ( getArgs )
39+import System.IO ( hFlush, hPutStrLn, stdout, stderr )
40+import qualified Text.PrettyPrint.ANSI.Leijen as P2
41+import Text.PrettyPrint.HughesPJClass ( Doc, Pretty(..), text, vcat, hcat, semi, render, prettyShow )
42+
43+data Options = Options
44+ { optSha256 :: Maybe String
45+ , optMaintainer :: [String]
46+--, optPlatform :: [String] -- TODO: fix command line handling of platforms
47+ , optHaddock :: Bool
48+ , optHpack :: HpackUse
49+ , optDoCheck :: Bool
50+ , optJailbreak :: Bool
51+ , optDoBenchmark :: Bool
52+ , optRevision :: Maybe String
53+ , optHyperlinkSource :: Bool
54+ , optEnableLibraryProfiling :: Bool
55+ , optEnableExecutableProfiling :: Bool
56+ , optEnableProfiling :: Maybe Bool
57+ , optExtraArgs :: [String]
58+ , optHackageDb :: Maybe FilePath
59+ , optNixShellOutput :: Bool
60+ , optFlags :: [String]
61+ , optCompiler :: CompilerId
62+ , optSystem :: Platform
63+ , optSubpath :: Maybe FilePath
64+ , optHackageSnapshot :: Maybe UTCTime
65+ , optNixpkgsIdentifier :: NixpkgsResolver
66+ , optUrl :: String
67+ , optFetchSubmodules :: Bool
68+ }
69+
70+options :: Parser Options
71+options = Options
72+ <$> optional (strOption $ long "sha256" <> metavar "HASH" <> help "sha256 hash of source tarball")
73+ <*> many (strOption $ long "maintainer" <> metavar "MAINTAINER" <> help "maintainer of this package (may be specified multiple times)")
74+-- <*> many (strOption $ long "platform" <> metavar "PLATFORM" <> help "supported build platforms (may be specified multiple times)")
75+ <*> flag True False (long "no-haddock" <> help "don't run Haddock when building this package")
76+ <*>
77+ (
78+ flag' ForceHpack (long "hpack" <> help "run hpack before configuring this package (only non-hackage packages)")
79+ <|>
80+ flag' NoHpack (long "no-hpack" <> help "disable hpack run and use only cabal disregarding package.yaml existence")
81+ <|>
82+ pure PackageYamlHpack
83+ )
84+ <*> flag True False (long "no-check" <> help "don't run regression test suites of this package")
85+ <*> switch (long "jailbreak" <> help "disregard version restrictions on build inputs")
86+ <*> switch (long "benchmark" <> help "enable benchmarks for this package")
87+ <*> optional (strOption $ long "revision" <> help "revision to use when fetching from VCS")
88+ <*> flag True False (long "no-hyperlink-source" <> help "don't generate pretty-printed source code for the documentation")
89+ <*> switch (long "enable-library-profiling" <> help "enable library profiling in the generated build")
90+ <*> switch (long "enable-executable-profiling" <> help "enable executable profiling in the generated build")
91+ <*> optional (switch (long "enable-profiling" <> help "enable both library and executable profiling in the generated build"))
92+ <*> many (strOption $ long "extra-arguments" <> help "extra parameters required for the function body")
93+ <*> optional (strOption $ long "hackage-db" <> metavar "PATH" <> help "path to the local hackage db in tar format")
94+ <*> switch (long "shell" <> help "generate output suitable for nix-shell")
95+ <*> many (strOption $ short 'f' <> long "flag" <> help "Cabal flag (may be specified multiple times)")
96+ <*> option parseCabal (long "compiler" <> help "compiler to use when evaluating the Cabal file" <> value buildCompilerId <> showDefaultWith prettyShow)
97+ <*> option (maybeReader parsePlatform) (long "system" <> help "host system (in either short Nix format or full LLVM style) to use when evaluating the Cabal file" <> value buildPlatform <> showDefaultWith prettyShow)
98+ <*> optional (strOption $ long "subpath" <> metavar "PATH" <> help "Path to Cabal file's directory relative to the URI (default is root directory)")
99+ <*> optional (option utcTimeReader (long "hackage-snapshot" <> help "hackage snapshot time, ISO format"))
100+ <*> pure (\i -> Just (binding # (i, path # [ident # "pkgs", i])))
101+ <*> strArgument (metavar "URI")
102+ <*> flag True False (long "dont-fetch-submodules" <> help "do not fetch git submodules from git sources")
103+
104+-- | A parser for the date. Hackage updates happen maybe once or twice a month.
105+-- Example: parseTime defaultTimeLocale "%FT%T%QZ" "2017-11-20T12:18:35Z" :: Maybe UTCTime
106+utcTimeReader :: ReadM UTCTime
107+utcTimeReader = eitherReader $ \arg ->
108+ case parseTimeM True defaultTimeLocale "%FT%T%QZ" arg of
109+ Nothing -> Left $ "Cannot parse date, ISO format used ('2017-11-20T12:18:35Z'): " ++ arg
110+ Just utcTime -> Right utcTime
111+
112+parseCabal :: Parsec a => ReadM a
113+parseCabal = eitherReader eitherParsec
114+
115+-- | Replicate the normalization performed by GHC_CONVERT_CPU in GHC's aclocal.m4
116+-- since the output of that is what Cabal parses.
117+ghcConvertArch :: String -> String
118+ghcConvertArch arch = case arch of
119+ "i486" -> "i386"
120+ "i586" -> "i386"
121+ "i686" -> "i386"
122+ "amd64" -> "x86_64"
123+ _ -> fromMaybe arch $ listToMaybe
124+ [prefix | prefix <- archPrefixes, prefix `isPrefixOf` arch]
125+ where archPrefixes =
126+ [ "aarch64", "alpha", "arm", "hppa1_1", "hppa", "m68k", "mipseb"
127+ , "mipsel", "mips", "powerpc64le", "powerpc64", "powerpc", "s390x"
128+ , "sparc64", "sparc"
129+ ]
130+
131+-- | Replicate the normalization performed by GHC_CONVERT_OS in GHC's aclocal.m4
132+-- since the output of that is what Cabal parses.
133+ghcConvertOS :: String -> String
134+ghcConvertOS os = case os of
135+ "watchos" -> "ios"
136+ "tvos" -> "ios"
137+ "linux-android" -> "linux-android"
138+ "linux-androideabi" -> "linux-androideabi"
139+ _ | "linux-" `isPrefixOf` os -> "linux"
140+ _ -> fromMaybe os $ listToMaybe
141+ [prefix | prefix <- osPrefixes, prefix `isPrefixOf` os]
142+ where osPrefixes =
143+ [ "gnu", "openbsd", "aix", "darwin", "solaris2", "freebsd", "nto-qnx"]
144+
145+parseArch :: String -> Arch
146+parseArch = classifyArch Permissive . ghcConvertArch
147+
148+parseOS :: String -> OS
149+parseOS = classifyOS Permissive . ghcConvertOS
150+
151+parsePlatform :: String -> Maybe Platform
152+parsePlatform = parsePlatformParts . splitOn "-"
153+
154+parsePlatformParts :: [String] -> Maybe Platform
155+parsePlatformParts = \case
156+ [arch, os] ->
157+ Just $ Platform (parseArch arch) (parseOS os)
158+ (arch : _ : osParts) ->
159+ Just $ Platform (parseArch arch) $ parseOS $ intercalate "-" osParts
160+ _ -> Nothing
161+
162+pinfo :: ParserInfo Options
163+pinfo = info
164+ ( helper
165+ <*> infoOption ("cabal2nix " ++ prettyShow version) (long "version" <> help "Show version number")
166+ <*> options
167+ )
168+ ( fullDesc
169+ <> header "cabal2nix converts Cabal files into build instructions for Nix."
170+ <> progDescDoc (Just (P2.vcat
171+ [ P2.text ""
172+ , P2.text "Recognized URI schemes:"
173+ , P2.text ""
174+ , P2.text " cabal://pkgname-pkgversion download the specified package from Hackage"
175+ , P2.text " cabal://pkgname download latest version of this package from Hackage"
176+ , P2.text " file:///local/path load the Cabal file from the local disk"
177+ , P2.text " /local/path abbreviated version of file URI"
178+ , P2.text " <git/svn/bzr/hg URL> download the source from the specified repository"
179+ , P2.text ""
180+ , P2.fillSep (map P2.text (words ( "If the URI refers to a cabal file, information for building the package "
181+ ++ "will be retrieved from that file, but hackage will be used as a source "
182+ ++ "for the derivation. Otherwise, the supplied URI will be used to as the "
183+ ++ "source for the derivation and the information is taken from the cabal file "
184+ ++ "at the root of the downloaded source."
185+ )))
186+ ]))
187+ )
188+
189+main :: IO ()
190+main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() ->
191+ cabal2nix =<< getArgs
192+
193+hpackOverrides :: Derivation -> Derivation
194+hpackOverrides = over phaseOverrides (++ "prePatch = \"hpack\";")
195+ . set (libraryDepends . tool . contains (PP.pkg "hpack")) True
196+
197+cabal2nix' :: Options -> IO (Either Doc Derivation)
198+cabal2nix' opts@Options{..} = do
199+ pkg <- getPackage optHpack optFetchSubmodules optHackageDb optHackageSnapshot $
200+ Source optUrl (fromMaybe "" optRevision) (maybe UnknownHash Guess optSha256) (fromMaybe "" optSubpath)
201+ processPackage opts pkg
202+
203+cabal2nixWithDB :: DB.HackageDB -> Options -> IO (Either Doc Derivation)
204+cabal2nixWithDB db opts@Options{..} = do
205+ when (isJust optHackageDb) $ hPutStrLn stderr "WARN: HackageDB provided directly; ignoring --hackage-db"
206+ when (isJust optHackageSnapshot) $ hPutStrLn stderr "WARN: HackageDB provided directly; ignoring --hackage-snapshot"
207+ pkg <- getPackage' optHpack optFetchSubmodules (return db) $
208+ Source optUrl (fromMaybe "" optRevision) (maybe UnknownHash Guess optSha256) (fromMaybe "" optSubpath)
209+ processPackage opts pkg
210+
211+processPackage :: Options -> Package -> IO (Either Doc Derivation)
212+processPackage Options{..} pkg = do
213+ let
214+ withHpackOverrides :: Derivation -> Derivation
215+ withHpackOverrides = if pkgRanHpack pkg then hpackOverrides else id
216+
217+ flags :: FlagAssignment
218+ flags = configureCabalFlags (packageId (pkgCabal pkg)) `mappend` readFlagList optFlags
219+
220+ deriv :: Derivation
221+ deriv = withHpackOverrides $ fromGenericPackageDescription (const True)
222+ optNixpkgsIdentifier
223+ optSystem
224+ (unknownCompilerInfo optCompiler NoAbiTag)
225+ flags
226+ []
227+ (pkgCabal pkg)
228+ & src .~ pkgSource pkg
229+ & subpath .~ fromMaybe "." optSubpath
230+ & runHaddock %~ (optHaddock &&)
231+ & jailbreak .~ optJailbreak
232+ & hyperlinkSource .~ optHyperlinkSource
233+ & enableLibraryProfiling .~ (fromMaybe False optEnableProfiling || optEnableLibraryProfiling)
234+ & enableExecutableProfiling .~ (fromMaybe False optEnableProfiling || optEnableExecutableProfiling)
235+ & metaSection.maintainers .~ Set.fromList (map (review ident) optMaintainer)
236+-- & metaSection.platforms .~ Set.fromList optPlatform
237+ & doCheck &&~ optDoCheck
238+ & doBenchmark ||~ optDoBenchmark
239+ & extraFunctionArgs %~ Set.union (Set.fromList ("inherit stdenv":map (fromString . ("inherit " ++)) optExtraArgs))
240+
241+ shell :: Doc
242+ shell = vcat
243+ [ text "{ nixpkgs ? import <nixpkgs> {}, compiler ? \"default\", doBenchmark ? false }:"
244+ , text ""
245+ , text "let"
246+ , text ""
247+ , text " inherit (nixpkgs) pkgs;"
248+ , text ""
249+ , hcat [ text " f = ", pPrint deriv, semi ]
250+ , text ""
251+ , text " haskellPackages = if compiler == \"default\""
252+ , text " then pkgs.haskellPackages"
253+ , text " else pkgs.haskell.packages.${compiler};"
254+ , text ""
255+ , text " variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id;"
256+ , text ""
257+ , text " drv = variant (haskellPackages.callPackage f {});"
258+ , text ""
259+ , text "in"
260+ , text ""
261+ , text " if pkgs.lib.inNixShell then drv.env else drv"
262+ ]
263+ pure $ if optNixShellOutput then Left shell else Right deriv
264+
265+cabal2nix :: [String] -> IO ()
266+cabal2nix = parseArgs >=> cabal2nix' >=> putStrLn . either render prettyShow
267+
268+parseArgs :: [String] -> IO Options
269+parseArgs = handleParseResult . execParserPure defaultPrefs pinfo
270+
271+-- Utils
272+
273+readFlagList :: [String] -> FlagAssignment
274+readFlagList = mkFlagAssignment . map tagWithValue
275+ where tagWithValue ('-':fname) = (mkFlagName (lowercase fname), False)
276+ tagWithValue fname = (mkFlagName (lowercase fname), True)
src/Distribution/Nixpkgs/Fetch.hs+50−12
@@ -6,7 +6,7 @@
66module Distribution.Nixpkgs.Fetch
77 ( Source(..)
88 , Hash(..)
9− , DerivationSource(..), fromDerivationSource
9+ , DerivationSource(..), fromDerivationSource, urlDerivationSource
1010 , fetch
1111 , fetchWith
1212 ) where
@@ -18,7 +18,10 @@ import Control.Monad.IO.Class
1818import Control.Monad.Trans.Maybe
1919import Data.Aeson
2020import qualified Data.ByteString.Lazy.Char8 as BS
21+import qualified Data.List as L
22+import Data.Maybe
2123import GHC.Generics ( Generic )
24+import Language.Nix.PrettyPrinting as PP
2225import System.Directory
2326import System.Environment
2427import System.Exit
@@ -31,6 +34,7 @@ data Source = Source
3134 , sourceRevision :: String -- ^ Revision to use. For protocols where this doesn't make sense (such as HTTP), this
3235 -- should be the empty string.
3336 , sourceHash :: Hash -- ^ The expected hash of the source, if available.
37+ , sourceCabalDir :: String -- ^ Directory where Cabal file is found.
3438 } deriving (Show, Eq, Ord, Generic)
3539
3640instance NFData Source
@@ -55,6 +59,7 @@ data DerivationSource = DerivationSource
5559 , derivUrl :: String -- ^ URL to fetch from.
5660 , derivRevision :: String -- ^ Revision to use. Leave empty if the fetcher doesn't support revisions.
5761 , derivHash :: String -- ^ The hash of the source.
62+ , derivSubmodule :: Maybe Bool -- ^ The fetchSubmodule setting (if any)
5863 }
5964 deriving (Show, Eq, Ord, Generic)
6065
@@ -65,23 +70,46 @@ instance FromJSON DerivationSource where
6570 <$> o .: "url"
6671 <*> o .: "rev"
6772 <*> o .: "sha256"
73+ <*> o .: "fetchSubmodules"
6874 parseJSON _ = error "invalid DerivationSource"
6975
76+instance PP.Pretty DerivationSource where
77+ pPrint DerivationSource {..} =
78+ let isHackagePackage = "mirror://hackage/" `L.isPrefixOf` derivUrl
79+ fetched = derivKind /= ""
80+ in if isHackagePackage then attr "sha256" $ string derivHash
81+ else if not fetched then attr "src" $ text derivUrl
82+ else vcat
83+ [ text "src" <+> equals <+> text ("fetch" ++ derivKind) <+> lbrace
84+ , nest 2 $ vcat
85+ [ attr "url" $ string derivUrl
86+ , attr "sha256" $ string derivHash
87+ , if derivRevision /= "" then attr "rev" (string derivRevision) else PP.empty
88+ , boolattr "fetchSubmodules" (isJust derivSubmodule) (fromJust derivSubmodule)
89+ ]
90+ , rbrace PP.<> semi
91+ ]
92+
93+
94+urlDerivationSource :: String -> String -> DerivationSource
95+urlDerivationSource url hash = DerivationSource "url" url "" hash Nothing
96+
7097fromDerivationSource :: DerivationSource -> Source
71−fromDerivationSource DerivationSource{..} = Source derivUrl derivRevision $ Certain derivHash
98+fromDerivationSource DerivationSource{..} = Source derivUrl derivRevision (Certain derivHash) "."
7299
73100-- | Fetch a source, trying any of the various nix-prefetch-* scripts.
74−fetch :: forall a. (String -> MaybeT IO a) -- ^ This function is passed the output path name as an argument.
101+fetch :: forall a.
102+ Bool -- ^ If True, fetch submodules when the source is a git repository
103+ -> (String -> MaybeT IO a) -- ^ This function is passed the output path name as an argument.
75104 -- It should return 'Nothing' if the file doesn't match the expected format.
76105 -- This is required, because we cannot always check if a download succeeded otherwise.
77106 -> Source -- ^ The source to fetch from.
78107 -> IO (Maybe (DerivationSource, a)) -- ^ The derivation source and the result of the processing function. Returns Nothing if the download failed.
79−fetch f = runMaybeT . fetchers where
108+fetch optSubModules f = runMaybeT . fetchers where
80109 fetchers :: Source -> MaybeT IO (DerivationSource, a)
81110 fetchers source = msum . (fetchLocal source :) $ map (\fetcher -> fetchWith fetcher source >>= process)
82− [ (False, "zip", [])
83− , (False, "url", [])
84− , (True, "git", ["--fetch-submodules"])
111+ [ (False, "url", [])
112+ , (True, "git", ["--fetch-submodules" | optSubModules ])
85113 , (True, "hg", [])
86114 , (True, "svn", [])
87115 , (True, "bzr", [])
@@ -100,17 +128,19 @@ fetch f = runMaybeT . fetchers where
100128 guard $ existsDir || existsFile
101129 let path' | '/' `elem` path = path
102130 | otherwise = "./" ++ path
103− process (DerivationSource "" path' "" "", path') <|> localArchive path'
131+ process (localDerivationSource path', path') <|> localArchive path'
104132
105133 localArchive :: FilePath -> MaybeT IO (DerivationSource, a)
106134 localArchive path = do
107135 absolutePath <- liftIO $ canonicalizePath path
108− unpacked <- snd <$> fetchWith (False, "zip", []) (Source ("file://" ++ absolutePath) "" UnknownHash)
109− process (DerivationSource "" absolutePath "" "", unpacked)
136+ unpacked <- snd <$> fetchWith (False, "url", ["--unpack"]) (Source ("file://" ++ absolutePath) "" UnknownHash ".")
137+ process (localDerivationSource absolutePath, unpacked)
110138
111139 process :: (DerivationSource, FilePath) -> MaybeT IO (DerivationSource, a)
112140 process (derivSource, file) = (,) derivSource <$> f file
113141
142+ localDerivationSource p = DerivationSource "" p "" "" Nothing
143+
114144-- | Like 'fetch', but allows to specify which script to use.
115145fetchWith :: (Bool, String, [String]) -> Source -> MaybeT IO (DerivationSource, FilePath)
116146fetchWith (supportsRev, kind, addArgs) source = do
@@ -131,11 +161,19 @@ fetchWith (supportsRev, kind, addArgs) source = do
131161 ExitFailure _ -> return Nothing
132162 ExitSuccess -> do
133163 buf <- BS.hGetContents stdoutH
134− let (l:ls) = reverse (BS.lines buf)
164+ let (l,ls) = case reverse (BS.lines buf) of
165+ [] -> error "This can't happen, but GHC doesn't know that."
166+ (x:xs) -> (x,xs)
135167 buf' = BS.unlines (reverse ls)
136168 case length ls of
137169 0 -> return Nothing
138− 1 -> return (Just (DerivationSource kind (sourceUrl source) "" (BS.unpack (head ls)) , sourceUrl source))
170+ 1 -> return (Just (DerivationSource { derivKind = kind
171+ , derivUrl = sourceUrl source
172+ , derivRevision = ""
173+ , derivHash = BS.unpack (head ls)
174+ , derivSubmodule = Nothing
175+ }
176+ , sourceUrl source))
139177 _ -> case eitherDecode buf' of
140178 Left err -> error ("invalid JSON: " ++ err ++ " in " ++ show buf')
141179 Right ds -> return (Just (ds { derivKind = kind }, BS.unpack l))
src/Distribution/Nixpkgs/Haskell/BuildInfo.hs+7−2
@@ -11,11 +11,12 @@ module Distribution.Nixpkgs.Haskell.BuildInfo
1111
1212import Control.DeepSeq
1313import Control.Lens
14+import Data.Semigroup as Sem
1415import Data.Set ( Set )
1516import Data.Set.Lens
1617import GHC.Generics ( Generic )
1718import Language.Nix
18−import Language.Nix.PrettyPrinting
19+import Language.Nix.PrettyPrinting hiding ( (<>) )
1920
2021data BuildInfo = BuildInfo
2122 { _haskell :: Set Binding
@@ -30,9 +31,13 @@ makeLenses ''BuildInfo
3031instance Each BuildInfo BuildInfo (Set Binding) (Set Binding) where
3132 each f (BuildInfo a b c d) = BuildInfo <$> f a <*> f b <*> f c <*> f d
3233
34+instance Sem.Semigroup BuildInfo where
35+ BuildInfo w1 x1 y1 z1 <> BuildInfo w2 x2 y2 z2 =
36+ BuildInfo (w1 <> w2) (x1 <> x2) (y1 <> y2) (z1 <> z2)
37+
3338instance Monoid BuildInfo where
3439 mempty = BuildInfo mempty mempty mempty mempty
35− BuildInfo w1 x1 y1 z1 `mappend` BuildInfo w2 x2 y2 z2 = BuildInfo (w1 `mappend` w2) (x1 `mappend` x2) (y1 `mappend` y2) (z1 `mappend` z2)
40+ mappend = (Sem.<>)
3641
3742instance NFData BuildInfo
3843
src/Distribution/Nixpkgs/Haskell/Constraint.hs+1−1
@@ -9,7 +9,7 @@ import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
99type Constraint = Dependency
1010
1111satisfiesConstraint :: PackageIdentifier -> Constraint -> Bool
12−satisfiesConstraint (PackageIdentifier pn v) (Dependency cn vr) = (pn /= cn) || (v `withinRange` vr)
12+satisfiesConstraint (PackageIdentifier pn v) (Dependency cn vr _) = (pn /= cn) || (v `withinRange` vr)
1313
1414satisfiesConstraints :: PackageIdentifier -> [Constraint] -> Bool
1515satisfiesConstraints p = all (satisfiesConstraint p)
src/Distribution/Nixpkgs/Haskell/Derivation.hs+30−23
@@ -1,20 +1,21 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE DeriveGeneric #-}
23{-# LANGUAGE RecordWildCards #-}
34{-# LANGUAGE TemplateHaskell #-}
45{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-}
56
67module Distribution.Nixpkgs.Haskell.Derivation
7− ( Derivation, nullDerivation, pkgid, revision, src, isLibrary, isExecutable
8+ ( Derivation, nullDerivation, pkgid, revision, src, subpath, isLibrary, isExecutable
89 , extraFunctionArgs, libraryDepends, executableDepends, testDepends, configureFlags
9− , cabalFlags, runHaddock, jailbreak, doCheck, testTarget, hyperlinkSource, enableSplitObjs
10+ , cabalFlags, runHaddock, jailbreak, doCheck, doBenchmark, testTarget, hyperlinkSource, enableSplitObjs
1011 , enableLibraryProfiling, enableExecutableProfiling, phaseOverrides, editedCabalFile, metaSection
11− , dependencies, setupDepends
12+ , dependencies, setupDepends, benchmarkDepends, enableSeparateDataOutput
1213 )
1314 where
1415
1516import Control.DeepSeq
1617import Control.Lens
17−import Data.List
18+import Data.List ( isPrefixOf )
1819import Data.Set ( Set )
1920import qualified Data.Set as Set
2021import Data.Set.Lens
@@ -23,11 +24,15 @@ import Distribution.Nixpkgs.Haskell.BuildInfo
2324import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
2425import Distribution.Nixpkgs.Meta
2526import Distribution.Package
26−import Distribution.PackageDescription ( FlagAssignment, FlagName(..) )
27+import Distribution.PackageDescription ( FlagAssignment, unFlagName, unFlagAssignment )
2728import GHC.Generics ( Generic )
2829import Language.Nix
2930import Language.Nix.PrettyPrinting
3031
32+#if MIN_VERSION_base(4,11,0)
33+import Prelude hiding ((<>))
34+#endif
35+
3136-- | A represtation of Nix expressions for building Haskell packages.
3237-- The data type correspond closely to the definition of
3338-- 'PackageDescription' from Cabal.
@@ -36,6 +41,7 @@ data Derivation = MkDerivation
3641 { _pkgid :: PackageIdentifier
3742 , _revision :: Int
3843 , _src :: DerivationSource
44+ , _subpath :: FilePath
3945 , _isLibrary :: Bool
4046 , _isExecutable :: Bool
4147 , _extraFunctionArgs :: Set Binding
@@ -43,11 +49,13 @@ data Derivation = MkDerivation
4349 , _libraryDepends :: BuildInfo
4450 , _executableDepends :: BuildInfo
4551 , _testDepends :: BuildInfo
52+ , _benchmarkDepends :: BuildInfo
4653 , _configureFlags :: Set String
4754 , _cabalFlags :: FlagAssignment
4855 , _runHaddock :: Bool
4956 , _jailbreak :: Bool
5057 , _doCheck :: Bool
58+ , _doBenchmark :: Bool
5159 , _testTarget :: String
5260 , _hyperlinkSource :: Bool
5361 , _enableLibraryProfiling :: Bool
@@ -55,6 +63,7 @@ data Derivation = MkDerivation
5563 , _enableSplitObjs :: Bool
5664 , _phaseOverrides :: String
5765 , _editedCabalFile :: String
66+ , _enableSeparateDataOutput :: Bool
5867 , _metaSection :: Meta
5968 }
6069 deriving (Show, Eq, Generic)
@@ -64,6 +73,7 @@ nullDerivation = MkDerivation
6473 { _pkgid = error "undefined Derivation.pkgid"
6574 , _revision = error "undefined Derivation.revision"
6675 , _src = error "undefined Derivation.src"
76+ , _subpath = error "undefined Derivation.subpath"
6777 , _isLibrary = error "undefined Derivation.isLibrary"
6878 , _isExecutable = error "undefined Derivation.isExecutable"
6979 , _extraFunctionArgs = error "undefined Derivation.extraFunctionArgs"
@@ -71,11 +81,13 @@ nullDerivation = MkDerivation
7181 , _libraryDepends = error "undefined Derivation.libraryDepends"
7282 , _executableDepends = error "undefined Derivation.executableDepends"
7383 , _testDepends = error "undefined Derivation.testDepends"
84+ , _benchmarkDepends = error "undefined Derivation.benchmarkDepends"
7485 , _configureFlags = error "undefined Derivation.configureFlags"
7586 , _cabalFlags = error "undefined Derivation.cabalFlags"
7687 , _runHaddock = error "undefined Derivation.runHaddock"
7788 , _jailbreak = error "undefined Derivation.jailbreak"
7889 , _doCheck = error "undefined Derivation.doCheck"
90+ , _doBenchmark = error "undefined Derivation.doBenchmark"
7991 , _testTarget = error "undefined Derivation.testTarget"
8092 , _hyperlinkSource = error "undefined Derivation.hyperlinkSource"
8193 , _enableLibraryProfiling = error "undefined Derivation.enableLibraryProfiling"
@@ -83,12 +95,13 @@ nullDerivation = MkDerivation
8395 , _enableSplitObjs = error "undefined Derivation.enableSplitObjs"
8496 , _phaseOverrides = error "undefined Derivation.phaseOverrides"
8597 , _editedCabalFile = error "undefined Derivation.editedCabalFile"
98+ , _enableSeparateDataOutput = error "undefined Derivation.enableSeparateDataOutput"
8699 , _metaSection = error "undefined Derivation.metaSection"
87100 }
88101
89102makeLenses ''Derivation
90103
91−makeLensesFor [("_setupDepends", "dependencies"), ("_libraryDepends", "dependencies"), ("_executableDepends", "dependencies"), ("_testDepends", "dependencies")] ''Derivation
104+makeLensesFor [("_setupDepends", "dependencies"), ("_libraryDepends", "dependencies"), ("_executableDepends", "dependencies"), ("_testDepends", "dependencies"), ("_benchmarkDepends", "dependencies")] ''Derivation
92105
93106instance Package Derivation where
94107 packageId = view pkgid
@@ -96,27 +109,31 @@ instance Package Derivation where
96109instance NFData Derivation
97110
98111instance Pretty Derivation where
99− pPrint drv@(MkDerivation {..}) = funargs (map text ("mkDerivation" : toAscList inputs)) $$ vcat
112+ pPrint drv@MkDerivation {..} = funargs (map text ("mkDerivation" : toAscList inputs)) $$ vcat
100113 [ text "mkDerivation" <+> lbrace
101114 , nest 2 $ vcat
102− [ attr "pname" $ doubleQuotes $ disp (packageName _pkgid)
103− , attr "version" $ doubleQuotes $ disp (packageVersion _pkgid)
104− , sourceAttr _src
115+ [ attr "pname" $ doubleQuotes $ pPrint (packageName _pkgid)
116+ , attr "version" $ doubleQuotes $ pPrint (packageVersion _pkgid)
117+ , pPrint _src
118+ , onlyIf (_subpath /= ".") $ attr "postUnpack" postUnpack
105119 , onlyIf (_revision > 0) $ attr "revision" $ doubleQuotes $ int _revision
106120 , onlyIf (not (null _editedCabalFile) && _revision > 0) $ attr "editedCabalFile" $ string _editedCabalFile
107121 , listattr "configureFlags" empty (map (show . show) renderedFlags)
108122 , boolattr "isLibrary" (not _isLibrary || _isExecutable) _isLibrary
109123 , boolattr "isExecutable" (not _isLibrary || _isExecutable) _isExecutable
124+ , boolattr "enableSeparateDataOutput" _enableSeparateDataOutput _enableSeparateDataOutput
110125 , onlyIf (_setupDepends /= mempty) $ pPrintBuildInfo "setup" _setupDepends
111126 , onlyIf (_libraryDepends /= mempty) $ pPrintBuildInfo "library" _libraryDepends
112127 , onlyIf (_executableDepends /= mempty) $ pPrintBuildInfo "executable" _executableDepends
113128 , onlyIf (_testDepends /= mempty) $ pPrintBuildInfo "test" _testDepends
129+ , onlyIf (_benchmarkDepends /= mempty) $ pPrintBuildInfo "benchmark" _benchmarkDepends
114130 , boolattr "enableLibraryProfiling" _enableLibraryProfiling _enableLibraryProfiling
115131 , boolattr "enableExecutableProfiling" _enableExecutableProfiling _enableExecutableProfiling
116132 , boolattr "enableSplitObjs" (not _enableSplitObjs) _enableSplitObjs
117133 , boolattr "doHaddock" (not _runHaddock) _runHaddock
118134 , boolattr "jailbreak" _jailbreak _jailbreak
119135 , boolattr "doCheck" (not _doCheck) _doCheck
136+ , boolattr "doBenchmark" _doBenchmark _doBenchmark
120137 , onlyIf (not (null _testTarget)) $ attr "testTarget" $ string _testTarget
121138 , boolattr "hyperlinkSource" (not _hyperlinkSource) _hyperlinkSource
122139 , onlyIf (not (null _phaseOverrides)) $ vcat ((map text . lines) _phaseOverrides)
@@ -131,18 +148,8 @@ instance Pretty Derivation where
131148 , Set.fromList ["fetch" ++ derivKind _src | derivKind _src /= "" && not isHackagePackage]
132149 ]
133150
134− renderedFlags = [ text "-f" <> (if enable then empty else char '-') <> text f | (FlagName f, enable) <- _cabalFlags ]
151+ renderedFlags = [ text "-f" <> (if enable then empty else char '-') <> text (unFlagName f) | (f, enable) <- unFlagAssignment _cabalFlags ]
135152 ++ map text (toAscList _configureFlags)
136153 isHackagePackage = "mirror://hackage/" `isPrefixOf` derivUrl _src
137− sourceAttr (DerivationSource{..})
138− | isHackagePackage = attr "sha256" $ string derivHash
139− | derivKind /= "" = vcat
140− [ text "src" <+> equals <+> text ("fetch" ++ derivKind) <+> lbrace
141− , nest 2 $ vcat
142− [ attr "url" $ string derivUrl
143− , attr "sha256" $ string derivHash
144− , if derivRevision /= "" then attr "rev" (string derivRevision) else empty
145− ]
146− , rbrace <> semi
147− ]
148− | otherwise = attr "src" $ text derivUrl
154+
155+ postUnpack = string $ "sourceRoot+=/" ++ _subpath ++ "; echo source root reset to $sourceRoot"
src/Distribution/Nixpkgs/Haskell/FromCabal.hs+82−43
@@ -3,11 +3,9 @@
33
44module Distribution.Nixpkgs.Haskell.FromCabal
55 ( HaskellResolver, NixpkgsResolver
6− , fromGenericPackageDescription , fromPackageDescription
7− )
8− where
6+ , fromGenericPackageDescription , finalizeGenericPackageDescription , fromPackageDescription
7+ ) where
98
10−import Control.Arrow ( second )
119import Control.Lens
1210import Data.Maybe
1311import Data.Set ( Set )
@@ -19,61 +17,88 @@ import Distribution.Nixpkgs.Haskell.Constraint
1917import Distribution.Nixpkgs.Haskell.FromCabal.License
2018import Distribution.Nixpkgs.Haskell.FromCabal.Name
2119import Distribution.Nixpkgs.Haskell.FromCabal.Normalize
22−import Distribution.Nixpkgs.Haskell.FromCabal.PostProcess
20+import Distribution.Nixpkgs.Haskell.FromCabal.PostProcess (postProcess)
21+import qualified Distribution.Nixpkgs.License as Nix
2322import qualified Distribution.Nixpkgs.Meta as Nix
2423import Distribution.Package
2524import Distribution.PackageDescription
2625import qualified Distribution.PackageDescription as Cabal
27−import Distribution.PackageDescription.Configuration
26+import Distribution.PackageDescription.Configuration as Cabal
2827import Distribution.System
2928import Distribution.Text ( display )
29+import Distribution.Types.ComponentRequestedSpec as Cabal
30+import Distribution.Types.ExeDependency as Cabal
31+import Distribution.Types.LegacyExeDependency as Cabal
32+import Distribution.Types.PkgconfigDependency as Cabal
33+import Distribution.Types.UnqualComponentName as Cabal
3034import Distribution.Version
3135import Language.Nix
3236
3337type HaskellResolver = Dependency -> Bool
3438type NixpkgsResolver = Identifier -> Maybe Binding
3539
36−fromGenericPackageDescription :: HaskellResolver -> NixpkgsResolver -> Platform -> CompilerInfo -> FlagAssignment -> [Constraint] -> GenericPackageDescription -> Derivation
40+fromGenericPackageDescription :: HaskellResolver -> NixpkgsResolver -> Platform -> CompilerInfo -> FlagAssignment -> [Constraint] -> GenericPackageDescription -> Derivation
3741fromGenericPackageDescription haskellResolver nixpkgsResolver arch compiler flags constraints genDesc =
3842 fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags descr
3943 where
40− -- We have to call the Cabal finalizer several times with different resolver
41− -- functions, and this convenience function makes our code shorter.
42− finalize :: HaskellResolver -> Either [Dependency] (PackageDescription,FlagAssignment)
43− finalize resolver = finalizePackageDescription flags resolver arch compiler constraints (enableTests genDesc)
44−
45− descr :: PackageDescription; missingDeps :: [Dependency]
46− (descr,missingDeps) = case finalize jailbrokenResolver of
47− Left m -> case finalize (const True) of
48− Left _ -> error ("Cabal cannot finalize " ++ display (packageId genDesc))
49− Right (d,_) -> (d,m)
50− Right (d,_) -> (d,[])
51−
52− jailbrokenResolver :: HaskellResolver
53− jailbrokenResolver (Dependency pkg _) = haskellResolver (Dependency pkg anyVersion)
44+ (descr, missingDeps) = finalizeGenericPackageDescription haskellResolver arch compiler flags constraints genDesc
45+
46+finalizeGenericPackageDescription :: HaskellResolver -> Platform -> CompilerInfo -> FlagAssignment -> [Constraint] -> GenericPackageDescription -> (PackageDescription, [Dependency])
47+finalizeGenericPackageDescription haskellResolver arch compiler flags constraints genDesc =
48+ let
49+ -- We have to call the Cabal finalizer several times with different resolver
50+ -- functions, and this convenience function makes our code shorter.
51+ finalize :: HaskellResolver -> Either [Dependency] (PackageDescription,FlagAssignment)
52+ finalize resolver = finalizePD flags requestedComponents resolver arch compiler constraints genDesc
53+
54+ requestedComponents :: ComponentRequestedSpec
55+ requestedComponents = ComponentRequestedSpec
56+ { testsRequested = True
57+ , benchmarksRequested = True
58+ }
59+
60+ jailbroken :: HaskellResolver -> HaskellResolver
61+ jailbroken resolver (Dependency pkg _ _) = resolver (Dependency pkg anyVersion mempty)
62+
63+ withInternalLibs :: HaskellResolver -> HaskellResolver
64+ withInternalLibs resolver d = depPkgName d `elem` internalNames || resolver d
65+
66+ internalNames :: [PackageName]
67+ internalNames = [ unqualComponentNameToPackageName n | (n,_) <- condSubLibraries genDesc ]
68+ ++ [ unqualComponentNameToPackageName n | LSubLibName n <- libName <$> subLibraries (packageDescription genDesc) ]
69+
70+ in case finalize (jailbroken (withInternalLibs haskellResolver)) of
71+ Left m -> case finalize (const True) of
72+ Left _ -> error ("Cabal cannot finalize " ++ display (packageId genDesc))
73+ Right (d,_) -> (d,m)
74+ Right (d,_) -> (d,[])
5475
5576fromPackageDescription :: HaskellResolver -> NixpkgsResolver -> [Dependency] -> FlagAssignment -> PackageDescription -> Derivation
56−fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags (PackageDescription {..}) = normalize $ postProcess $ nullDerivation
77+fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags PackageDescription {..} = normalize $ postProcess $ nullDerivation
5778 & isLibrary .~ isJust library
5879 & pkgid .~ package
5980 & revision .~ xrev
6081 & isLibrary .~ isJust library
6182 & isExecutable .~ not (null executables)
6283 & extraFunctionArgs .~ mempty
63− & libraryDepends .~ maybe mempty (convertBuildInfo . libBuildInfo) library
84+ & libraryDepends .~ foldMap (convertBuildInfo . libBuildInfo) (maybeToList library ++ subLibraries)
6485 & executableDepends .~ mconcat (map (convertBuildInfo . buildInfo) executables)
6586 & testDepends .~ mconcat (map (convertBuildInfo . testBuildInfo) testSuites)
87+ & benchmarkDepends .~ mconcat (map (convertBuildInfo . benchmarkBuildInfo) benchmarks)
6688 & Nix.setupDepends .~ maybe mempty convertSetupBuildInfo setupBuildInfo
6789 & configureFlags .~ mempty
6890 & cabalFlags .~ flags
69− & runHaddock .~ maybe True (not . null . exposedModules) library
91+ & runHaddock .~ doHaddockPhase
7092 & jailbreak .~ False
7193 & doCheck .~ True
94+ & doBenchmark .~ False
7295 & testTarget .~ mempty
7396 & hyperlinkSource .~ True
7497 & enableSplitObjs .~ True
7598 & enableLibraryProfiling .~ False
7699 & enableExecutableProfiling .~ False
100+ & enableSeparateDataOutput .~ not (null dataFiles)
101+ & subpath .~ "."
77102 & phaseOverrides .~ mempty
78103 & editedCabalFile .~ (if xrev > 0
79104 then fromMaybe (error (display package ++ ": X-Cabal-File-Hash field is missing")) (lookup "X-Cabal-File-Hash" customFieldsPD)
@@ -81,53 +106,67 @@ fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags (Packag
81106 & metaSection .~ ( Nix.nullMeta
82107 & Nix.homepage .~ homepage
83108 & Nix.description .~ synopsis
84− & Nix.license .~ fromCabalLicense license
109+ & Nix.license .~ nixLicense
85110 & Nix.platforms .~ Nix.allKnownPlatforms
86− & Nix.hydraPlatforms .~ Nix.allKnownPlatforms
111+ & Nix.hydraPlatforms .~ (if isFreeLicense nixLicense then Nix.allKnownPlatforms else Set.empty)
87112 & Nix.maintainers .~ mempty
88113 & Nix.broken .~ not (null missingDeps)
89114 )
90115 where
91116 xrev = maybe 0 read (lookup "x-revision" customFieldsPD)
92117
118+ nixLicense :: Nix.License
119+ nixLicense = either fromSPDXLicense fromCabalLicense licenseRaw
120+
93121 resolveInHackage :: Identifier -> Binding
94− resolveInHackage i | (i^.ident) `elem` [ n | (Dependency (PackageName n) _) <- missingDeps ] = bindNull i
122+ resolveInHackage i | (i^.ident) `elem` [ unPackageName n | (Dependency n _ _) <- missingDeps ] = bindNull i
95123 | otherwise = binding # (i, path # ["self",i]) -- TODO: "self" shouldn't be hardcoded.
96124
125+ -- TODO: This is all very confusing. Haskell packages refer to the Nixpkgs
126+ -- derivation 'foo' as 'pkgs.foo', because they live in the 'haskellPackages'
127+ -- name space -- not on the top level. Therefore, we built our Nixpkgs lookup
128+ -- function so that top level names are returned as 'pkgs.foo'. As a result, we
129+ -- end up pre-pending that path to all kinds of names all over the place. I
130+ -- suppose the correct approach would be to assume that the lookup function
131+ -- returns names that live in the top-level and to adapt the code in
132+ -- PostProcess.hs et all to that fact.
97133 goodScopes :: Set [Identifier]
98134 goodScopes = Set.fromList (map ("pkgs":) [[], ["xorg"], ["xlibs"], ["gnome2"], ["gnome"], ["gnome3"], ["kde4"]])
99135
100136 resolveInNixpkgs :: Identifier -> Binding
101137 resolveInNixpkgs i
102138 | i `elem` ["clang","lldb","llvm"] = binding # (i, path # ["self","llvmPackages",i]) -- TODO: evil!
103− | i == "gtk2" = binding # (i, path # ["pkgs","gnome2","gtk"])
104− | i == "gtk3" = binding # (i, path # ["pkgs","gnome3","gtk"])
139+ | i == "gtk2" = binding # (i, path # ["pkgs","gtk2"]) -- TODO: these cases should not be necessary
140+ | i == "gtk3" = binding # (i, path # ["pkgs","gtk3"])
141+ | i == "gtksourceview3" = binding # (i, path # ["pkgs","gtksourceview3"])
142+ | i == "vte_291" = binding # (i, path # ["pkgs","vte"])
105143 | Just p <- nixpkgsResolver i, init (view (reference . path) p) `Set.member` goodScopes = p
106144 | otherwise = bindNull i
107145
108146 resolveInHackageThenNixpkgs :: Identifier -> Binding
109− resolveInHackageThenNixpkgs i | haskellResolver (Dependency (PackageName (i^.ident)) anyVersion) = resolveInHackage i
147+ resolveInHackageThenNixpkgs i | haskellResolver (Dependency (mkPackageName (i^.ident)) anyVersion mempty) = resolveInHackage i
110148 | otherwise = resolveInNixpkgs i
111149
150+ internalLibNames :: [PackageName]
151+ internalLibNames = [ unqualComponentNameToPackageName n | LSubLibName n <- libName <$> subLibraries ]
152+
153+ doHaddockPhase :: Bool
154+ doHaddockPhase | not (null internalLibNames) = False
155+ | Just l <- library = not (null (exposedModules l))
156+ | otherwise = True
157+
112158 convertBuildInfo :: Cabal.BuildInfo -> Nix.BuildInfo
159+ convertBuildInfo Cabal.BuildInfo {..} | not buildable = mempty
113160 convertBuildInfo Cabal.BuildInfo {..} = mempty
114− & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _) <- targetBuildDepends ]
161+ & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _ _) <- targetBuildDepends, x `notElem` internalLibNames ]
115162 & system .~ Set.fromList [ resolveInNixpkgs y | x <- extraLibs, y <- libNixName x ]
116− & pkgconfig .~ Set.fromList [ resolveInNixpkgs y | Dependency (PackageName x) _ <- pkgconfigDepends, y <- libNixName x ]
117− & tool .~ Set.fromList [ resolveInHackageThenNixpkgs y | Dependency (PackageName x) _ <- buildTools, y <- buildToolNixName x ]
163+ & pkgconfig .~ Set.fromList [ resolveInNixpkgs y | PkgconfigDependency x _ <- pkgconfigDepends, y <- libNixName (unPkgconfigName x) ]
164+ & tool .~ Set.fromList (map resolveInHackageThenNixpkgs . concatMap buildToolNixName
165+ $ [ unPackageName x | ExeDependency x _ _ <- buildToolDepends ] ++ [ x | LegacyExeDependency x _ <- buildTools ])
118166
119167 convertSetupBuildInfo :: Cabal.SetupBuildInfo -> Nix.BuildInfo
120168 convertSetupBuildInfo bi = mempty
121− & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _) <- Cabal.setupDepends bi ]
169+ & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _ _) <- Cabal.setupDepends bi ]
122170
123171bindNull :: Identifier -> Binding
124172bindNull i = binding # (i, path # ["null"])
125−
126−enableTests :: GenericPackageDescription -> GenericPackageDescription
127−enableTests gd = gd { condTestSuites = flaggedTests }
128− where
129− flaggedTests :: [(String, CondTree ConfVar [Dependency] TestSuite)]
130− flaggedTests = map (second (mapTreeData enableTest)) (condTestSuites gd)
131−
132− enableTest :: TestSuite -> TestSuite
133− enableTest t = t { testEnabled = True }
src/Distribution/Nixpkgs/Haskell/FromCabal/Configuration.hs+29−32
@@ -1,15 +1,21 @@
11{-# LANGUAGE RecordWildCards #-}
2−{-# LANGUAGE CPP #-}
32{-# LANGUAGE FlexibleInstances #-}
43{-# LANGUAGE OverloadedStrings #-}
54{-# LANGUAGE DeriveGeneric #-}
65{-# OPTIONS_GHC -fno-warn-orphans #-}
76
8−module Distribution.Nixpkgs.Haskell.FromCabal.Configuration ( Configuration(..), readConfiguration, assertConsistency ) where
7+module Distribution.Nixpkgs.Haskell.FromCabal.Configuration
8+ ( Configuration(..), readConfiguration, assertConsistency
9+ )
10+ where
11+
12+import Prelude hiding ( fail )
913
1014import Control.DeepSeq
15+import Control.Exception ( throwIO )
1116import Control.Lens
12−import Control.Monad
17+import Control.Monad hiding ( fail )
18+import Control.Monad.Fail
1319import Data.Aeson
1420import Data.Map as Map
1521import Data.Set as Set
@@ -39,14 +45,22 @@ data Configuration = Configuration
3945 -- role during dependency resolution.
4046 , extraPackages :: [Constraint]
4147
42− -- |We know that these packages won't build, so we give them an empty
43− -- meta.hydraPlatforms attribute to avoid cluttering our Hydra output with
44− -- lots of failure messages.
45− , dontDistributePackages :: Map PackageName (Set Platform)
46−
4748 -- |This information is used by the @hackage2nix@ utility to determine the
4849 -- 'maintainers' for a given Haskell package.
4950 , packageMaintainers :: Map Identifier (Set PackageName)
51+
52+ -- |These packages (by design) don't support certain platforms.
53+ , unsupportedPlatforms :: Map PackageName (Set Platform)
54+
55+ -- |These packages cannot be distributed by Hydra, i.e. because they have an
56+ -- unfree license or depend on other tools that cannot be distributed for
57+ -- some reason.
58+ , dontDistributePackages :: Set PackageName
59+
60+ -- |We know that these packages won't compile, so we mark them as broken and
61+ -- also disable their meta.hydraPlatforms attribute to avoid cluttering our
62+ -- Hydra job with lots of failure messages.
63+ , brokenPackages :: [Constraint]
5064 }
5165 deriving (Show, Generic)
5266
@@ -58,50 +72,33 @@ instance FromJSON Configuration where
5872 <*> o .:? "core-packages" .!= mempty
5973 <*> o .:? "default-package-overrides" .!= mempty
6074 <*> o .:? "extra-packages" .!= mempty
61− <*> o .:? "dont-distribute-packages" .!= mempty
6275 <*> o .:? "package-maintainers" .!= mempty
76+ <*> o .:? "unsupported-platforms" .!= mempty
77+ <*> o .:? "dont-distribute-packages" .!= mempty
78+ <*> o .:? "broken-packages" .!= mempty
6379 parseJSON _ = error "invalid Configuration"
6480
6581instance FromJSON Identifier where
6682 parseJSON (String s) = pure (review ident (T.unpack s))
6783 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Nix identifier")
6884
69−#if MIN_VERSION_aeson(1,0,0)
70−
7185instance FromJSONKey Identifier where
7286 fromJSONKey = FromJSONKeyText parseKey
7387
7488instance FromJSONKey PackageName where
7589 fromJSONKey = FromJSONKeyText parseKey
7690
77−#elif MIN_VERSION_aeson(0,11,0)
78−
79−instance (FromJSON v) => FromJSON (Map Identifier v) where
80− parseJSON = fmap (Map.mapKeys parseKey) . parseJSON
81−
82−instance (FromJSON v) => FromJSON (Map PackageName v) where
83− parseJSON = fmap (Map.mapKeys parseKey) . parseJSON
84−
85−#else
86−
87−instance (Ord k, FromJSON k, FromJSON v) => FromJSON (Map k v) where
88− parseJSON = fmap (Map.mapKeys parseKey) . parseJSON
89−
90−#endif
91−
9291parseKey :: FromJSON k => Text -> k
9392parseKey s = either error id (parseEither parseJSON (String s))
9493
9594readConfiguration :: FilePath -> IO Configuration
96−readConfiguration path =
97− decodeFile path >>= maybe (fail ("invalid config file at " ++ show path)) assertConsistency
95+readConfiguration path = decodeFileEither path >>= either throwIO assertConsistency
9896
99−assertConsistency :: Monad m => Configuration -> m Configuration
100−assertConsistency cfg@(Configuration {..}) = do
97+assertConsistency :: MonadFail m => Configuration -> m Configuration
98+assertConsistency cfg@Configuration {..} = do
10199 let report msg = fail ("*** configuration error: " ++ msg)
102−
103100 maintainedPackages = Set.unions (Map.elems packageMaintainers)
104− disabledPackages = Map.keysSet dontDistributePackages
101+ disabledPackages = dontDistributePackages `Set.union` Set.fromList (depPkgName <$> brokenPackages)
105102 disabledMaintainedPackages = maintainedPackages `Set.intersection` disabledPackages
106103 unless (Set.null disabledMaintainedPackages) $
107104 report ("disabled packages that have a maintainer: " ++ show disabledMaintainedPackages)
src/Distribution/Nixpkgs/Haskell/FromCabal/Flags.hs+32−21
@@ -1,57 +1,68 @@
1+{-# LANGUAGE OverloadedStrings #-}
2+
13module Distribution.Nixpkgs.Haskell.FromCabal.Flags ( configureCabalFlags ) where
24
5+import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
6+
7+import Data.Char
38import Distribution.Package
49import Distribution.PackageDescription
5−import Data.Version
10+import Distribution.Version
611
712configureCabalFlags :: PackageIdentifier -> FlagAssignment
8−configureCabalFlags (PackageIdentifier (PackageName name) version)
13+configureCabalFlags = mkFlagAssignment . configureCabalFlags'
14+
15+configureCabalFlags' :: PackageIdentifier -> [(FlagName,Bool)]
16+configureCabalFlags' (PackageIdentifier name version)
917 | name == "accelerate-examples"= [disable "opencl"]
1018 | name == "arithmoi" = [disable "llvm"]
19+ | name == "bustle" = [disable "hgettext"] -- https://gitlab.freedesktop.org/bustle/bustle/issues/13
20+ | name == "cabal-plan" = [enable "exe"]
21+ | name == "cassava" = [disable "bytestring--lt-0_10_4"]
1122 | name == "darcs" = [enable "library", enable "force-char8-encoding"]
1223 | name == "diagrams-builder" = [enable "cairo", enable "svg", enable "ps", enable "rasterific"]
24+ | name == "fltkhs" = [enable "opengl"]
1325 | name == "folds" = [disable "test-hlint"]
1426 | name == "git-annex" = [ enable "assistant"
15− , enable "cryptonite"
27+ , disable "benchmark"
1628 , enable "dbus"
17− , enable "desktopnotify"
18− , enable "dns"
19− , enable "feed"
20− , enable "inotify"
29+ , disable "debuglocks"
30+ , enable "magicmime"
31+ , enable "networkbsd"
2132 , enable "pairing"
2233 , enable "production"
23− , enable "quvi"
2434 , enable "s3"
25− , enable "tahoe"
26− , enable "tdfa"
27− , enable "testsuite"
2835 , enable "torrentparser"
2936 , enable "webapp"
30− , enable "webapp-secure"
3137 , enable "webdav"
32− , enable "xmpp"
3338 ]
3439 | name == "haskeline" = [enable "terminfo"]
3540 | name == "haste-compiler" = [enable "portable"]
3641 | name == "highlighting-kate" = [enable "pcre-light"]
37− | name == "hlibsass" && version >= Version [0,1,5] []
42+ | name == "hlibsass" && version >= mkVersion [0,1,5]
3843 = [enable "externalLibsass"]
39− | name == "hmatrix" = [enable "openblas"]
40− | name == "hslua" = [enable "system-lua"]
41− | name == "idris" = [enable "gmp", enable "ffi", enable "curses"]
44+ | name == "hmatrix" = [enable "openblas", enable "disable-default-paths"]
45+ | name == "hslua" = [enable "system-lua", disable "use-pkgconfig"]
46+ | name == "idris" = [enable "gmp", enable "ffi", enable "curses", ("execonly", version `withinRange` orLaterVersion (mkVersion [1,1,1])) ]
4247 | name == "io-streams" = [enable "NoInteractiveTests"]
4348 | name == "liquid-fixpoint" = [enable "build-external"]
4449 | name == "pandoc" = [enable "https", disable "trypandoc"]
50+ | name == "pandoc-placetable" = [enable "inlineMarkdown"]
51+ | name == "persistent-sqlite" = [enable "systemlib"]
4552 | name == "reactive-banana-wx" = [disable "buildExamples"]
4653 | name == "snap-server" = [enable "openssl"]
47− | name == "xmobar" = [enable "all_extensions"]
54+ | name == "stack" = [enable "disable-git-info", enable "hide-dependency-versions", enable "supported-build"]
55+ | name == "xmobar" = [enable "with_alsa", enable "with_conduit", enable "with_datezone", enable "with_dbus", enable "with_inotify", enable "with_iwlib", enable "with_mpd", enable "with_mpris", enable "with_rtsopts", enable "with_threaded", enable "with_utf8", enable "with_uvmeter", enable "with_weather", enable "with_xft", enable "with_xpm"]
4856 | name == "xmonad-extras" = [disable "with_hlist", enable "with_split", enable "with_parsec"]
49− | name == "yaml" = [enable "system-libyaml"]
57+ | name == "yaml" = [("system-libyaml", version >= "0.10.1.1")]
5058 | name == "yi" = [enable "pango", enable "vty"]
5159 | otherwise = []
5260
5361enable :: String -> (FlagName,Bool)
54−enable name = (FlagName name, True)
62+enable name = (mkFlagName' name, True)
5563
5664disable :: String -> (FlagName,Bool)
57−disable name = (FlagName name, False)
65+disable name = (mkFlagName' name, False)
66+
67+mkFlagName' :: String -> FlagName
68+mkFlagName' = mkFlagName . map toLower
src/Distribution/Nixpkgs/Haskell/FromCabal/License.hs+166−26
@@ -1,30 +1,170 @@
1−module Distribution.Nixpkgs.Haskell.FromCabal.License ( fromCabalLicense ) where
1+{-# LANGUAGE ViewPatterns #-}
22
3+module Distribution.Nixpkgs.Haskell.FromCabal.License
4+ ( fromCabalLicense
5+ , fromSPDXLicense
6+ , isFreeLicense
7+ ) where
8+
9+import Data.List (intercalate)
10+import Distribution.License ( License(..), knownLicenses )
311import Distribution.Nixpkgs.License
4−import Distribution.License ( License(..) )
5−import Data.Version
12+import Distribution.Pretty (prettyShow)
13+import qualified Distribution.SPDX as SPDX
14+import Distribution.Text (display)
15+import Distribution.Version
16+
17+-- TODO: Programmatically strip trailing zeros from license version numbers.
618
719fromCabalLicense :: Distribution.License.License -> Distribution.Nixpkgs.License.License
8−fromCabalLicense (GPL Nothing) = Unknown (Just "GPL")
9−fromCabalLicense (GPL (Just (Version [2] []))) = Known "stdenv.lib.licenses.gpl2"
10−fromCabalLicense (GPL (Just (Version [3] []))) = Known "stdenv.lib.licenses.gpl3"
11−fromCabalLicense (LGPL Nothing) = Unknown (Just "LGPL")
12−fromCabalLicense (LGPL (Just (Version [2,1] []))) = Known "stdenv.lib.licenses.lgpl21"
13−fromCabalLicense (LGPL (Just (Version [2] []))) = Known "stdenv.lib.licenses.lgpl2"
14−fromCabalLicense (LGPL (Just (Version [3] []))) = Known "stdenv.lib.licenses.lgpl3"
15−fromCabalLicense (AGPL Nothing) = Unknown (Just "AGPL")
16−fromCabalLicense (AGPL (Just (Version [3] []))) = Known "stdenv.lib.licenses.agpl3"
17−fromCabalLicense (AGPL (Just (Version [3,0] []))) = Known "stdenv.lib.licenses.agpl3"
18−fromCabalLicense (MPL (Version [2,0] [])) = Known "stdenv.lib.licenses.mpl20"
19−fromCabalLicense BSD2 = Known "stdenv.lib.licenses.bsd2"
20−fromCabalLicense BSD3 = Known "stdenv.lib.licenses.bsd3"
21−fromCabalLicense BSD4 = Known "stdenv.lib.licenses.bsdOriginal"
22−fromCabalLicense MIT = Known "stdenv.lib.licenses.mit"
23−fromCabalLicense PublicDomain = Known "stdenv.lib.licenses.publicDomain"
24−fromCabalLicense UnspecifiedLicense = Known "stdenv.lib.licenses.unfree"
25−fromCabalLicense AllRightsReserved = Known "stdenv.lib.licenses.unfree"
26−fromCabalLicense (Apache Nothing) = Known "stdenv.lib.licenses.asl20"
27−fromCabalLicense (Apache (Just (Version [2,0] []))) = Known "stdenv.lib.licenses.asl20"
28−fromCabalLicense ISC = Known "stdenv.lib.licenses.isc"
29−fromCabalLicense OtherLicense = Unknown Nothing
30−fromCabalLicense l = error $ "Distribution.Nixpkgs.Haskell.FromCabal.License.fromCabalLicense: unknown license " ++ show l
20+fromCabalLicense (GPL Nothing) = Unknown (Just "GPL")
21+fromCabalLicense (GPL (Just (versionNumbers -> [2]))) = Known "stdenv.lib.licenses.gpl2"
22+fromCabalLicense (GPL (Just (versionNumbers -> [3]))) = Known "stdenv.lib.licenses.gpl3"
23+fromCabalLicense (GPL (Just (versionNumbers -> [3,0]))) = Known "stdenv.lib.licenses.gpl3"
24+fromCabalLicense (LGPL Nothing) = Unknown (Just "LGPL")
25+fromCabalLicense (LGPL (Just (versionNumbers -> [2,1]))) = Known "stdenv.lib.licenses.lgpl21"
26+fromCabalLicense (LGPL (Just (versionNumbers -> [2]))) = Known "stdenv.lib.licenses.lgpl2"
27+fromCabalLicense (LGPL (Just (versionNumbers -> [3]))) = Known "stdenv.lib.licenses.lgpl3"
28+fromCabalLicense (LGPL (Just (versionNumbers -> [3,0]))) = Known "stdenv.lib.licenses.lgpl3"
29+fromCabalLicense (AGPL Nothing) = Unknown (Just "AGPL")
30+fromCabalLicense (AGPL (Just (versionNumbers -> [3]))) = Known "stdenv.lib.licenses.agpl3"
31+fromCabalLicense (AGPL (Just (versionNumbers -> [3,0]))) = Known "stdenv.lib.licenses.agpl3"
32+fromCabalLicense (MPL (versionNumbers -> [2,0])) = Known "stdenv.lib.licenses.mpl20"
33+fromCabalLicense BSD2 = Known "stdenv.lib.licenses.bsd2"
34+fromCabalLicense BSD3 = Known "stdenv.lib.licenses.bsd3"
35+fromCabalLicense BSD4 = Known "stdenv.lib.licenses.bsdOriginal"
36+fromCabalLicense MIT = Known "stdenv.lib.licenses.mit"
37+fromCabalLicense PublicDomain = Known "stdenv.lib.licenses.publicDomain"
38+fromCabalLicense UnspecifiedLicense = Known "stdenv.lib.licenses.unfree"
39+fromCabalLicense AllRightsReserved = Known "stdenv.lib.licenses.unfree"
40+fromCabalLicense (Apache Nothing) = Known "stdenv.lib.licenses.asl20"
41+fromCabalLicense (Apache (Just (versionNumbers -> [2,0]))) = Known "stdenv.lib.licenses.asl20"
42+fromCabalLicense ISC = Known "stdenv.lib.licenses.isc"
43+fromCabalLicense OtherLicense = Unknown Nothing
44+fromCabalLicense (UnknownLicense "CC0-1.0") = Known "stdenv.lib.licenses.cc0"
45+fromCabalLicense (UnknownLicense "BSD3ClauseORApache20") = Known "stdenv.lib.licenses.bsd3"
46+fromCabalLicense l = error $ "Distribution.Nixpkgs.Haskell.FromCabal.License.fromCabalLicense: unknown license"
47+ ++ show l ++"\nChoose one of: " ++ intercalate ", " (map display knownLicenses)
48+
49+fromSPDXLicense :: SPDX.License -> Distribution.Nixpkgs.License.License
50+fromSPDXLicense SPDX.NONE = Unknown Nothing
51+fromSPDXLicense (SPDX.License expr) =
52+ case expr of
53+ SPDX.ELicense simpl Nothing ->
54+ -- Not handled: license exceptions
55+ case simpl of
56+ SPDX.ELicenseId lid ->
57+ case lid of
58+ SPDX.AFL_2_1 -> Known "stdenv.lib.licenses.afl21"
59+ SPDX.AFL_3_0 -> Known "stdenv.lib.licenses.afl3"
60+ SPDX.AGPL_3_0_only -> Known "stdenv.lib.licenses.agpl3"
61+ SPDX.AGPL_3_0_or_later -> Known "stdenv.lib.licenses.agpl3Plus"
62+ SPDX.APSL_2_0 -> Known "stdenv.lib.licenses.apsl20"
63+ SPDX.Artistic_1_0 -> Known "stdenv.lib.licenses.artistic1"
64+ SPDX.Artistic_2_0 -> Known "stdenv.lib.licenses.artistic2"
65+ SPDX.Apache_2_0 -> Known "stdenv.lib.licenses.asl20"
66+ SPDX.BSL_1_0 -> Known "stdenv.lib.licenses.boost"
67+ SPDX.Beerware -> Known "stdenv.lib.licenses.beerware"
68+ SPDX.NullBSD -> Known "stdenv.lib.licenses.bsd0"
69+ SPDX.BSD_2_Clause -> Known "stdenv.lib.licenses.bsd2"
70+ SPDX.BSD_3_Clause -> Known "stdenv.lib.licenses.bsd3"
71+ SPDX.BSD_4_Clause -> Known "stdenv.lib.licenses.bsdOriginal"
72+ SPDX.ClArtistic -> Known "stdenv.lib.licenses.clArtistic"
73+ SPDX.CC0_1_0 -> Known "stdenv.lib.licenses.cc0"
74+ SPDX.CC_BY_NC_SA_2_0 -> Known "stdenv.lib.licenses.cc-by-nc-sa-20"
75+ SPDX.CC_BY_NC_SA_2_5 -> Known "stdenv.lib.licenses.cc-by-nc-sa-25"
76+ SPDX.CC_BY_NC_SA_3_0 -> Known "stdenv.lib.licenses.cc-by-nc-sa-30"
77+ SPDX.CC_BY_NC_SA_4_0 -> Known "stdenv.lib.licenses.cc-by-nc-sa-40"
78+ SPDX.CC_BY_NC_4_0 -> Known "stdenv.lib.licenses.cc-by-nc-40"
79+ SPDX.CC_BY_ND_3_0 -> Known "stdenv.lib.licenses.cc-by-nd-30"
80+ SPDX.CC_BY_SA_2_5 -> Known "stdenv.lib.licenses.cc-by-sa-25"
81+ SPDX.CC_BY_3_0 -> Known "stdenv.lib.licenses.cc-by-30"
82+ SPDX.CC_BY_SA_3_0 -> Known "stdenv.lib.licenses.cc-by-sa-30"
83+ SPDX.CC_BY_4_0 -> Known "stdenv.lib.licenses.cc-by-40"
84+ SPDX.CC_BY_SA_4_0 -> Known "stdenv.lib.licenses.cc-by-sa-40"
85+ SPDX.CDDL_1_0 -> Known "stdenv.lib.licenses.cddl"
86+ SPDX.CECILL_2_0 -> Known "stdenv.lib.licenses.cecill20"
87+ SPDX.CECILL_B -> Known "stdenv.lib.licenses.cecill-b"
88+ SPDX.CECILL_C -> Known "stdenv.lib.licenses.cecill-c"
89+ SPDX.CPAL_1_0 -> Known "stdenv.lib.licenses.cpal10"
90+ SPDX.CPL_1_0 -> Known "stdenv.lib.licenses.cpl10"
91+ SPDX.Curl -> Known "stdenv.lib.licenses.curl"
92+ SPDX.DOC -> Known "stdenv.lib.licenses.doc"
93+ SPDX.EFL_1_0 -> Known "stdenv.lib.licenses.efl10"
94+ SPDX.EFL_2_0 -> Known "stdenv.lib.licenses.efl20"
95+ SPDX.EPL_1_0 -> Known "stdenv.lib.licenses.epl10"
96+ SPDX.EPL_2_0 -> Known "stdenv.lib.licenses.epl20"
97+ SPDX.EUPL_1_1 -> Known "stdenv.lib.licenses.eupl11"
98+ SPDX.GFDL_1_2_only -> Known "stdenv.lib.licenses.fdl12"
99+ SPDX.GFDL_1_3_only -> Known "stdenv.lib.licenses.fdl13"
100+ SPDX.GPL_1_0_only -> Known "stdenv.lib.licenses.gpl1"
101+ SPDX.GPL_1_0_or_later -> Known "stdenv.lib.licenses.gpl1Plus"
102+ SPDX.GPL_2_0_only -> Known "stdenv.lib.licenses.gpl2"
103+ SPDX.GPL_2_0_or_later -> Known "stdenv.lib.licenses.gpl2Plus"
104+ SPDX.GPL_3_0_only -> Known "stdenv.lib.licenses.gpl3"
105+ SPDX.GPL_3_0_or_later -> Known "stdenv.lib.licenses.gpl3Plus"
106+ SPDX.HPND -> Known "stdenv.lib.licenses.hpnd"
107+ SPDX.IJG -> Known "stdenv.lib.licenses.ijg"
108+ SPDX.ImageMagick -> Known "stdenv.lib.licenses.imagemagick"
109+ SPDX.IPA -> Known "stdenv.lib.licenses.ipa"
110+ SPDX.IPL_1_0 -> Known "stdenv.lib.licenses.ipl10"
111+ SPDX.ISC -> Known "stdenv.lib.licenses.isc"
112+ SPDX.JasPer_2_0 -> Known "stdenv.lib.licenses.jasper"
113+ SPDX.LGPL_2_0_only -> Known "stdenv.lib.licenses.lgpl2"
114+ SPDX.LGPL_2_0_or_later -> Known "stdenv.lib.licenses.lgpl2Plus"
115+ SPDX.LGPL_2_1_only -> Known "stdenv.lib.licenses.lgpl21"
116+ SPDX.LGPL_2_1_or_later -> Known "stdenv.lib.licenses.lgpl21Plus"
117+ SPDX.LGPL_3_0_only -> Known "stdenv.lib.licenses.lgpl3"
118+ SPDX.LGPL_3_0_or_later -> Known "stdenv.lib.licenses.lgpl3Plus"
119+ SPDX.Libpng -> Known "stdenv.lib.licenses.libpng"
120+ SPDX.Libtiff -> Known "stdenv.lib.licenses.libtiff"
121+ SPDX.LPPL_1_2 -> Known "stdenv.lib.licenses.lppl12"
122+ SPDX.LPPL_1_3c -> Known "stdenv.lib.licenses.lppl13c"
123+ SPDX.LPL_1_02 -> Known "stdenv.lib.licenses.lpl-102"
124+ SPDX.MIT -> Known "stdenv.lib.licenses.mit"
125+ SPDX.MPL_1_0 -> Known "stdenv.lib.licenses.mpl10"
126+ SPDX.MPL_1_1 -> Known "stdenv.lib.licenses.mpl11"
127+ SPDX.MPL_2_0 -> Known "stdenv.lib.licenses.mpl20"
128+ SPDX.MS_PL -> Known "stdenv.lib.licenses.mspl"
129+ SPDX.NCSA -> Known "stdenv.lib.licenses.ncsa"
130+ SPDX.NPOSL_3_0 -> Known "stdenv.lib.licenses.nposl3"
131+ SPDX.OFL_1_1 -> Known "stdenv.lib.licenses.ofl"
132+ SPDX.OLDAP_2_8 -> Known "stdenv.lib.licenses.openldap"
133+ SPDX.OpenSSL -> Known "stdenv.lib.licenses.openssl"
134+ SPDX.OSL_2_1 -> Known "stdenv.lib.licenses.osl21"
135+ SPDX.OSL_3_0 -> Known "stdenv.lib.licenses.osl3"
136+ SPDX.PHP_3_01 -> Known "stdenv.lib.licenses.php201"
137+ SPDX.PostgreSQL -> Known "stdenv.lib.licenses.postgresql"
138+ SPDX.Python_2_0 -> Known "stdenv.lib.licenses.psfl"
139+ SPDX.QPL_1_0 -> Known "stdenv.lib.licenses.qpl"
140+ SPDX.Ruby -> Known "stdenv.lib.licenses.ruby"
141+ SPDX.Sendmail -> Known "stdenv.lib.licenses.sendmail"
142+ SPDX.SGI_B_2_0 -> Known "stdenv.lib.licenses.sgi-b-0"
143+ SPDX.Sleepycat -> Known "stdenv.lib.licenses.sleepycat"
144+ SPDX.TCL -> Known "stdenv.lib.licenses.tcltx"
145+ SPDX.Unlicense -> Known "stdenv.lib.licenses.unlicense"
146+ SPDX.Vim -> Known "stdenv.lib.licenses.vim"
147+ SPDX.VSL_1_0 -> Known "stdenv.lib.licenses.vsl10"
148+ SPDX.Watcom_1_0 -> Known "stdenv.lib.licenses.watcom"
149+ SPDX.W3C -> Known "stdenv.lib.licenses.w3c"
150+ SPDX.WTFPL -> Known "stdenv.lib.licenses.wtfpl"
151+ SPDX.Zlib -> Known "stdenv.lib.licenses.zlib"
152+ SPDX.ZPL_2_0 -> Known "stdenv.lib.licenses.zpl20"
153+ SPDX.ZPL_2_1 -> Known "stdenv.lib.licenses.zpl21"
154+ _ ->
155+ -- Licence is not in Nixpkgs.
156+ -- Use the SPDX expression as a free-form license string.
157+ Unknown (Just $ prettyShow expr)
158+ _ ->
159+ -- Not handed: the '+' suffix and user-defined licences references.
160+ -- Use the SPDX expression as a free-form license string.
161+ Unknown (Just $ prettyShow expr)
162+ _ ->
163+ -- Not handled: compound expressions, not expressible in Nixpkgs.
164+ -- Use the SPDX expression as a free-form license string.
165+ Unknown (Just $ prettyShow expr)
166+
167+isFreeLicense :: Distribution.Nixpkgs.License.License -> Bool
168+isFreeLicense (Known "stdenv.lib.licenses.unfree") = False
169+isFreeLicense (Unknown Nothing) = False
170+isFreeLicense _ = True
src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs+79−59
@@ -2,42 +2,45 @@
22
33module Distribution.Nixpkgs.Haskell.FromCabal.Name ( toNixName, libNixName, buildToolNixName ) where
44
5+import Data.Maybe
56import Data.String
67import Distribution.Package
8+import Distribution.Text
79import Language.Nix
810
911-- | Map Cabal names to Nix attribute names.
1012toNixName :: PackageName -> Identifier
11−toNixName (PackageName "") = error "toNixName: invalid empty package name"
12−toNixName (PackageName n) = fromString n
13+toNixName "" = error "toNixName: invalid empty package name"
14+toNixName n = fromString (unPackageName n)
1315
14−-- | Map libraries to Nix packages.
16+-- | Map library names specified in Cabal files to Nix package identifiers.
1517--
1618-- TODO: This list should not be hard-coded here; it belongs into the Nixpkgs
17−-- repository.
19+-- repository.
20+--
21+-- TODO: Re-use hook matching system from PostProcess.hs here.
1822
1923libNixName :: String -> [Identifier]
2024libNixName "" = []
2125libNixName "adns" = return "adns"
2226libNixName "alsa" = return "alsaLib"
2327libNixName "alut" = return "freealut"
24−libNixName "appindicator-0.1" = return "appindicator"
25−libNixName "appindicator3-0.1" = return "appindicator"
28+libNixName "appindicator-0.1" = return "libappindicator-gtk2"
29+libNixName "appindicator3-0.1" = return "libappindicator-gtk3"
2630libNixName "asound" = return "alsaLib"
27−libNixName "awesomium-1.6.5" = return "awesomium"
2831libNixName "b2" = return "libb2"
32+libNixName "boost_context" = return "boost"
2933libNixName "bz2" = return "bzip2"
3034libNixName "c++" = [] -- What is that?
3135libNixName "cairo-gobject" = return "cairo"
3236libNixName "cairo-pdf" = return "cairo"
3337libNixName "cairo-ps" = return "cairo"
3438libNixName "cairo-svg" = return "cairo"
35−libNixName "CEGUIBase-0.7.7" = return "CEGUIBase"
36−libNixName "CEGUIOgreRenderer-0.7.7" = return "CEGUIOgreRenderer"
37−libNixName "clutter-1.0" = return "clutter"
3839libNixName "crypt" = [] -- provided by glibc
3940libNixName "crypto" = return "openssl"
4041libNixName "curses" = return "ncurses"
42+libNixName "dbusmenu-glib-0.4" = return "libdbusmenu"
43+libNixName "dbusmenu-gtk3-0.4" = ["libdbusmenu-gtk3", "gtk3"]
4144libNixName "dl" = [] -- provided by glibc
4245libNixName "fftw3" = return "fftw"
4346libNixName "fftw3f" = return "fftwFloat"
@@ -45,38 +48,33 @@ libNixName "gconf" = return "GConf"
4548libNixName "gconf-2.0" = return "GConf"
4649libNixName "gdk-2.0" = return "gtk2"
4750libNixName "gdk-3.0" = return "gtk3"
48−libNixName "gdk-pixbuf-2.0" = return "gdk_pixbuf"
51+libNixName "gdk-pixbuf-2.0" = return "gdk-pixbuf"
4952libNixName "gdk-x11-2.0" = return "gdk_x11"
53+libNixName "gdk-x11-3.0" = return "gtk3"
5054libNixName "gio-2.0" = return "glib"
51−libNixName "GL" = return "mesa"
52−libNixName "glib-2.0" = return "glib"
53−libNixName "GLU" = ["freeglut","mesa"]
54−libNixName "glut" = ["freeglut","mesa"]
55−libNixName "gmime-2.4" = return "gmime"
56−libNixName "gnome-keyring" = return "gnome_keyring"
57−libNixName "gnome-keyring-1" = return "gnome_keyring"
58−libNixName "gnome-vfs-2.0" = return "gnome_vfs"
59−libNixName "gnome-vfs-module-2.0" = return "gnome_vfs_module"
55+libNixName "GL" = return "libGL"
56+libNixName "GLU" = ["libGLU","libGL"]
57+libNixName "glut" = ["freeglut","libGLU","libGL"]
58+libNixName "gnome-keyring" = return "gnome-keyring"
59+libNixName "gnome-keyring-1" = return "libgnome-keyring"
60+libNixName "gnome-vfs-2.0" = return "gnome-vfs"
61+libNixName "gnome-vfs-module-2.0" = return "gnome-vfs_module"
6062libNixName "gobject-2.0" = return "glib"
61−libNixName "gobject-introspection-1.0" = return "gobjectIntrospection"
62−libNixName "gstreamer-0.10" = return "gstreamer"
63−libNixName "gstreamer-1.0" = return "gstreamer"
64−libNixName "gstreamer-audio-0.10" = return "gst_plugins_base"
65−libNixName "gstreamer-audio-1.0" = return "gst_plugins_base"
66−libNixName "gstreamer-base-0.10" = return "gst_plugins_base"
67−libNixName "gstreamer-base-1.0" = return "gst_plugins_base"
63+libNixName "gobject-introspection-1.0" = return "gobject-introspection"
64+libNixName "gstreamer-audio-0.10" = return "gst-plugins-base"
65+libNixName "gstreamer-audio-1.0" = return "gst-plugins-base"
66+libNixName "gstreamer-base-0.10" = return "gst-plugins-base"
67+libNixName "gstreamer-base-1.0" = return "gst-plugins-base"
6868libNixName "gstreamer-controller-0.10" = return "gstreamer"
6969libNixName "gstreamer-dataprotocol-0.10" = return "gstreamer"
70−libNixName "gstreamer-net-0.10" = return "gst_plugins_base"
71−libNixName "gstreamer-plugins-base-0.10" = return "gst_plugins_base"
72−libNixName "gstreamer-video-1.0" = return "gst_plugins_base"
70+libNixName "gstreamer-net-0.10" = return "gst-plugins-base"
71+libNixName "gstreamer-plugins-base-0.10" = return "gst-plugins-base"
72+libNixName "gstreamer-video-1.0" = return "gst-plugins-base"
7373libNixName "gthread-2.0" = return "glib"
7474libNixName "gtk+-2.0" = return "gtk2"
7575libNixName "gtk+-3.0" = return "gtk3"
7676libNixName "gtk-x11-2.0" = return "gtk_x11"
77−libNixName "gtkglext-1.0" = return "gtkglext"
78−libNixName "gtksourceview-2.0" = return "gtksourceview"
79−libNixName "gtksourceview-3.0" = return "gtksourceview"
77+libNixName "gtksourceview-3.0" = return "gtksourceview3"
8078libNixName "hidapi-libusb" = return "hidapi"
8179libNixName "icudata" = return "icu"
8280libNixName "icui18n" = return "icu"
@@ -87,36 +85,36 @@ libNixName "ImageMagick" = return "imagemagick"
8785libNixName "Imlib2" = return "imlib2"
8886libNixName "iw" = return "wirelesstools"
8987libNixName "jack" = return "libjack2"
90−libNixName "javascriptcoregtk-3.0" = return "javascriptcoregtk"
91−libNixName "javascriptcoregtk-4.0" = return "javascriptcoregtk"
88+libNixName "javascriptcoregtk-3.0" = return "webkitgtk24x-gtk3" -- These are the old APIs, of which 2.4 is the last provider, so map directly to that.
89+libNixName "javascriptcoregtk-4.0" = return "webkitgtk"
9290libNixName "jpeg" = return "libjpeg"
91+libNixName "jvm" = return "jdk"
9392libNixName "lapack" = return "liblapack"
93+libNixName "lber" = return "openldap"
9494libNixName "ldap" = return "openldap"
95−libNixName "llvm-3.0" = return "llvm"
96−libNixName "llvm-3.5" = return "llvm"
97−libNixName "llvm-3.6" = return "llvm"
98−libNixName "llvm-3.7" = return "llvm"
99−libNixName "llvm-3.8" = return "llvm"
10095libNixName "libavutil" = return "ffmpeg"
101−libNixName "libglade-2.0" = return "libglade"
10296libNixName "libgsasl" = return "gsasl"
10397libNixName "libpcre" = return "pcre"
98+libNixName "libpcre2" = return "pcre2"
99+libNixName "libpcre2-8" = libNixName "libpcre2"
100+libNixName "libqrencode" = return "qrencode"
104101libNixName "libR" = return "R"
105−libNixName "librsvg-2.0" = return "librsvg"
106−libNixName "libsoup-2.4" = return "libsoup"
107102libNixName "libsoup-gnome-2.4" = return "libsoup"
108103libNixName "libsystemd" = return "systemd"
109−libNixName "libusb-1.0" = return "libusb"
104+libNixName "libudev" = return "systemd"
110105libNixName "libxml-2.0" = return "libxml2"
111106libNixName "libzip" = return "libzip"
112107libNixName "libzmq" = return "zeromq"
113108libNixName "m" = [] -- in stdenv
114109libNixName "magic" = return "file"
115110libNixName "MagickWand" = return "imagemagick"
116−libNixName "mono-2.0" = return "mono"
111+libNixName "mnl" = return "libmnl"
117112libNixName "mpi" = return "openmpi"
118113libNixName "ncursesw" = return "ncurses"
119114libNixName "netsnmp" = return "net_snmp"
115+libNixName "nix-expr" = return "nix"
116+libNixName "nix-main" = return "nix"
117+libNixName "nix-store" = return "nix"
120118libNixName "notify" = return "libnotify"
121119libNixName "odbc" = return "unixODBC"
122120libNixName "openblas" = return "openblasCompat"
@@ -126,7 +124,6 @@ libNixName "pcap" = return "libpcap"
126124libNixName "pfs-1.2" = return "pfstools"
127125libNixName "png" = return "libpng"
128126libNixName "poppler-glib" = return "poppler"
129−libNixName "portaudio-2.0" = return "portaudio"
130127libNixName "pq" = return "postgresql"
131128libNixName "pthread" = []
132129libNixName "pulse" = return "libpulseaudio"
@@ -138,37 +135,38 @@ libNixName "Qt5Gui" = return "qt5"
138135libNixName "Qt5Qml" = return "qt5"
139136libNixName "Qt5Quick" = return "qt5"
140137libNixName "Qt5Widgets" = return "qt5"
138+libNixName "quadprog" = return "QuadProgpp"
141139libNixName "rt" = [] -- in glibc
142140libNixName "rtlsdr" = return "rtl-sdr"
143141libNixName "ruby1.8" = return "ruby"
144−libNixName "sane-backends" = return "saneBackends"
145142libNixName "sass" = return "libsass"
146−libNixName "sctp" = return "lksctp-tools" -- This is linux-specific, we should create a common attribute if we ever add sctp support for other systems
143+libNixName "sctp" = return "lksctp-tools" -- This is linux-specific, we should create a common attribute if we ever add sctp support for other systems.
147144libNixName "sdl2" = return "SDL2"
148−libNixName "SDL2-2.0" = return "SDL2"
149145libNixName "sndfile" = return "libsndfile"
150146libNixName "sodium" = return "libsodium"
151147libNixName "sqlite3" = return "sqlite"
148+libNixName "ssh2" = return "libssh2"
152149libNixName "ssl" = return "openssl"
150+libNixName "statgrab" = return "libstatgrab"
153151libNixName "stdc++" = [] -- What is that?
154152libNixName "stdc++.dll" = [] -- What is that?
155153libNixName "systemd-journal" = return "systemd"
156−libNixName "taglib_c" = return "taglib"
157154libNixName "tag_c" = return "taglib"
155+libNixName "taglib_c" = return "taglib"
156+libNixName "tensorflow" = return "libtensorflow"
158157libNixName "udev" = return "systemd";
159158libNixName "uuid" = return "libossp_uuid";
160−libNixName "vte-2.90" = return "vte"
161−libNixName "vte-2.91" = return "vte"
159+libNixName "vte-2.91" = return "vte_291"
162160libNixName "wayland-client" = return "wayland"
163161libNixName "wayland-cursor" = return "wayland"
164−libNixName "wayland-egl" = return "mesa"
162+libNixName "wayland-egl" = return "libGL"
165163libNixName "wayland-server" = return "wayland"
166−libNixName "webkit-1.0" = return "webkit"
167−libNixName "webkit2gtk-4.0" = return "webkit2gtk"
168−libNixName "webkit2gtk-web-extension-4.0" = return "webkit2gtk-web-extension"
169−libNixName "webkitgtk" = return "webkit"
170−libNixName "webkitgtk-3.0" = return "webkit"
164+libNixName "webkit2gtk" = return "webkitgtk"
165+libNixName "webkit2gtk-4.0" = return "webkitgtk"
166+libNixName "webkit2gtk-web-extension-4.0" = return "webkitgtk"
167+libNixName "webkitgtk-3.0" = return "webkitgtk24x-gtk3" -- These are the old APIs, of which 2.4 is the last provider, so map directly to that
171168libNixName "X11" = return "libX11"
169+libNixName "x11" = return "xlibsWrapper"
172170libNixName "xau" = return "libXau"
173171libNixName "Xcursor" = return "libXcursor"
174172libNixName "xerces-c" = return "xercesc"
@@ -184,15 +182,17 @@ libNixName "Xrender" = return "libXrender"
184182libNixName "Xss" = return "libXScrnSaver"
185183libNixName "Xtst" = return "libXtst"
186184libNixName "Xxf86vm" = return "libXxf86vm"
185+libNixName "yaml" = return "libyaml"
187186libNixName "yaml-0.1" = return "libyaml"
188187libNixName "z" = return "zlib"
189188libNixName "zmq" = return "zeromq"
190−libNixName x = return (fromString x)
189+libNixName x = return (guessNixIdentifier x)
191190
192191-- | Map build tool names to Nix attribute names.
193192buildToolNixName :: String -> [Identifier]
194193buildToolNixName "" = return (error "buildToolNixName: invalid empty dependency name")
195194buildToolNixName "cabal" = return "cabal-install"
195+buildToolNixName "fltk-config" = return "fltk"
196196buildToolNixName "ghc" = []
197197buildToolNixName "gtk2hsC2hs" = return "gtk2hs-buildtools"
198198buildToolNixName "gtk2hsHookGenerator" = return "gtk2hs-buildtools"
@@ -200,6 +200,26 @@ buildToolNixName "gtk2hsTypeGen" = return "gtk2hs-buildtools"
200200buildToolNixName "hsc2hs" = []
201201buildToolNixName "nix-build" = return "nix"
202202buildToolNixName "nix-env" = return "nix"
203+buildToolNixName "nix-hash" = return "nix"
203204buildToolNixName "nix-instantiate" = return "nix"
204205buildToolNixName "nix-store" = return "nix"
205206buildToolNixName x = return (fromString x)
207+
208+-- | Helper function to extract the package name from a String that may or may
209+-- not be formatted like a Cabal package identifier.
210+--
211+-- >>> guessNixIdentifier "foo-1.0"
212+-- Identifier "foo"
213+-- >>> guessNixIdentifier "foo"
214+-- Identifier "foo"
215+-- >>> guessNixIdentifier "foo - 0"
216+-- Identifier "foo - 0"
217+-- >>> guessNixIdentifier "1foo-1.0"
218+-- Identifier "1foo"
219+-- >>> guessNixIdentifier "-foo-1.0"
220+-- Identifier "-foo-1.0"
221+
222+guessNixIdentifier :: String -> Identifier
223+guessNixIdentifier x = fromString (fromMaybe x maybePackageId)
224+ where
225+ maybePackageId = unPackageName . pkgName <$> simpleParse x
src/Distribution/Nixpkgs/Haskell/FromCabal/Normalize.hs+9−23
@@ -1,15 +1,13 @@
1−module Distribution.Nixpkgs.Haskell.FromCabal.Normalize ( normalize, normalizeCabalFlags ) where
1+{-# LANGUAGE OverloadedStrings #-}
2+
3+module Distribution.Nixpkgs.Haskell.FromCabal.Normalize ( normalize ) where
24
35import Control.Lens
4−import Data.Function
5−import Data.List
66import qualified Data.Set as Set
77import Data.String
88import Distribution.Nixpkgs.Haskell
99import Distribution.Nixpkgs.Meta
1010import Distribution.Package
11−import Distribution.PackageDescription ( FlagAssignment, FlagName(..) )
12−import Distribution.Simple.Utils ( lowercase )
1311import Language.Nix hiding ( quote )
1412
1513normalize :: Derivation -> Derivation
@@ -17,20 +15,20 @@ normalize drv = drv
1715 & over libraryDepends (normalizeBuildInfo (packageName drv))
1816 & over executableDepends (normalizeBuildInfo (packageName drv))
1917 & over testDepends (normalizeBuildInfo (packageName drv))
18+ & over benchmarkDepends (normalizeBuildInfo (packageName drv))
2019 & over metaSection normalizeMeta
21− & over cabalFlags normalizeCabalFlags
22− & jailbreak %~ (&& (packageName drv /= PackageName "jailbreak-cabal"))
20+ & jailbreak %~ (&& (packageName drv /= "jailbreak-cabal"))
2321
2422normalizeBuildInfo :: PackageName -> BuildInfo -> BuildInfo
25−normalizeBuildInfo (PackageName pname) bi = bi
26− & haskell %~ Set.filter (\b -> view localName b /= fromString pname)
27− & tool %~ Set.filter (\b -> view localName b /= fromString pname)
23+normalizeBuildInfo pname bi = bi
24+ & haskell %~ Set.filter (\b -> view localName b /= fromString (unPackageName pname))
25+ & tool %~ Set.filter (\b -> view localName b /= fromString (unPackageName pname))
2826
2927normalizeMeta :: Meta -> Meta
3028normalizeMeta meta = meta
3129 & description %~ normalizeSynopsis
3230 & platforms %~ Set.intersection allKnownPlatforms
33− & hydraPlatforms %~ Set.intersection (meta^.platforms)
31+ & hydraPlatforms %~ (if meta^.broken then const Set.empty else Set.intersection (meta^.platforms))
3432
3533normalizeSynopsis :: String -> String
3634normalizeSynopsis desc
@@ -43,15 +41,3 @@ quote ('\\':c:cs) = '\\' : c : quote cs
4341quote ('"':cs) = '\\' : '"' : quote cs
4442quote (c:cs) = c : quote cs
4543quote [] = []
46−
47−-- |When a flag is specified multiple times, the first occurrence
48−-- counts. This is counter-intuitive, IMHO, but it's how cabal does it.
49−-- Flag names are spelled in all lowercase.
50−--
51−-- >>> normalizeCabalFlags [(FlagName "foo", True), (FlagName "FOO", True), (FlagName "Foo", False)]
52−-- [(FlagName "foo",True)]
53−
54−normalizeCabalFlags :: FlagAssignment -> FlagAssignment
55−normalizeCabalFlags flags' = nubBy ((==) `on` fst) (sortBy (compare `on` fst) flags)
56− where
57− flags = [ (FlagName (lowercase n), b) | (FlagName n, b) <- flags' ]
src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs+185−103
@@ -1,15 +1,19 @@
11{-# LANGUAGE OverloadedStrings #-}
2+{-# LANGUAGE ScopedTypeVariables #-}
23
3−module Distribution.Nixpkgs.Haskell.FromCabal.PostProcess ( postProcess ) where
4+module Distribution.Nixpkgs.Haskell.FromCabal.PostProcess ( postProcess, pkg ) where
45
56import Control.Lens
6−import Data.List
7+import Control.Monad.Trans.State
78import Data.List.Split
9+import Data.Map ( Map )
10+import qualified Data.Map as Map
11+import Data.Map.Lens
812import Data.Set ( Set )
913import qualified Data.Set as Set
10−import Data.Set.Lens
1114import Distribution.Nixpkgs.Haskell
1215import Distribution.Nixpkgs.Meta
16+import Distribution.Nixpkgs.License
1317import Distribution.Package
1418import Distribution.System
1519import Distribution.Text
@@ -17,7 +21,11 @@ import Distribution.Version
1721import Language.Nix
1822
1923postProcess :: Derivation -> Derivation
20−postProcess deriv = foldr ($) (fixGtkBuilds deriv) [ f | (Dependency n vr, f) <- hooks, packageName deriv == n, packageVersion deriv `withinRange` vr ]
24+postProcess deriv =
25+ foldr (.) id [ f | (Dependency n vr _, f) <- hooks, packageName deriv == n, packageVersion deriv `withinRange` vr ]
26+ . fixGtkBuilds
27+ . fixBuildDependsForTools
28+ $ deriv
2129
2230fixGtkBuilds :: Derivation -> Derivation
2331fixGtkBuilds drv = drv & dependencies . pkgconfig %~ Set.filter (not . collidesWithHaskellName)
@@ -25,113 +33,166 @@ fixGtkBuilds drv = drv & dependencies . pkgconfig %~ Set.filter (not . collidesW
2533 & dependencies . tool %~ Set.filter (not . collidesWithHaskellName)
2634 where
2735 collidesWithHaskellName :: Binding -> Bool
28− collidesWithHaskellName b = view localName b `Set.member` buildDeps
36+ collidesWithHaskellName b = case buildDeps Map.!? view localName b of
37+ Nothing -> False -- totally uncollided
38+ Just p -> p /= view reference b -- identical is not collision, and important to preserve for cross
2939
3040 myName :: Identifier
31− myName = ident # n where PackageName n = packageName drv
32−
33− buildDeps :: Set Identifier
34− buildDeps = Set.delete myName (setOf (dependencies . haskell . folded . localName) drv)
41+ myName = ident # unPackageName (packageName drv)
42+
43+ buildDeps :: Map Identifier Path
44+ buildDeps = Map.delete myName (toMapOf (dependencies . haskell . to Set.toList . traverse . binding . ifolded) drv)
45+
46+-- Per https://github.com/haskell/cabal/issues/5412 hvr considers
47+-- `build-depends` providing executables an accident, and fragile one at that,
48+-- unworthy of any compatibility hacks. But while he and the other Hackage
49+-- maintainers is dedicated to fixing executables and libraries on Hackage, test
50+-- suites and benchmarks are not a priority, as it is trivial to skip building
51+-- test-suites with cabal-install. Nix however wishes to build test suites much
52+-- more widely, so skipping those components is not an option.
53+--
54+-- Between that, and Stack not changing behavior as of
55+-- https://github.com/commercialhaskell/stack/pull/4132, it seems likely that
56+-- for a while packages scraped from Hackage will continue to improperly use
57+-- `build-depends: package-for-tool` instead of `build-tool-depends` (which does
58+-- also work for Stack). Until that changes, we provide do this to work around
59+-- those package's brokenness.
60+fixBuildDependsForTools :: Derivation -> Derivation
61+fixBuildDependsForTools = foldr (.) id
62+ [ fmap snd $ runState $ do
63+ needs <- use $ cloneLens c . haskell . contains p
64+ cloneLens c . tool . contains p ||= needs
65+ | (c :: ALens' Derivation BuildInfo) <- [ testDepends, benchmarkDepends ]
66+ , p <- self <$> [ "hspec-discover"
67+ , "tasty-discover"
68+ , "hsx2hs"
69+ , "markdown-unlit"
70+ ]
71+ ]
3572
3673hooks :: [(Dependency, Derivation -> Derivation)]
3774hooks =
3875 [ ("Agda < 2.5", set (executableDepends . tool . contains (pkg "emacs")) True . set phaseOverrides agdaPostInstall)
3976 , ("Agda >= 2.5", set (executableDepends . tool . contains (pkg "emacs")) True . set phaseOverrides agda25PostInstall)
4077 , ("alex < 3.1.5", set (testDepends . tool . contains (pkg "perl")) True)
41− , ("alex", set (executableDepends . tool . contains (bind "self.happy")) True)
78+ , ("alex", set (executableDepends . tool . contains (self "happy")) True)
79+ , ("alsa-core", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux)))
4280 , ("bindings-GLFW", over (libraryDepends . system) (Set.union (Set.fromList [bind "pkgs.xorg.libXext", bind "pkgs.xorg.libXfixes"])))
43− , ("bustle", set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True)
81+ , ("bindings-lxc", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux)))
82+ , ("bustle", bustleOverrides)
4483 , ("Cabal", set doCheck False) -- test suite doesn't work in Nix
84+ , ("Cabal >2.2", over (setupDepends . haskell) (Set.union (Set.fromList [self "mtl", self "parsec"]))) -- https://github.com/haskell/cabal/issues/5391
4585 , ("cabal-helper", set doCheck False) -- https://github.com/DanielG/cabal-helper/issues/17
4686 , ("cabal-install", set doCheck False . set phaseOverrides cabalInstallPostInstall)
87+ , ("cabal2nix > 2", cabal2nixOverrides)
4788 , ("darcs", set phaseOverrides darcsInstallPostInstall . set doCheck False)
4889 , ("dbus", set doCheck False) -- don't execute tests that try to access the network
4990 , ("dns", set testTarget "spec") -- don't execute tests that try to access the network
5091 , ("eventstore", over (metaSection . platforms) (Set.filter (\(Platform arch _) -> arch == X86_64)))
5192 , ("freenect < 1.2.1", over configureFlags (Set.union (Set.fromList ["--extra-include-dirs=${pkgs.freenect}/include/libfreenect", "--extra-lib-dirs=${pkgs.freenect}/lib"])))
93+ , ("fltkhs", set (libraryDepends . system . contains (pkg "fltk14")) True . over (libraryDepends . pkgconfig) (Set.union (pkgs ["libGLU", "libGL"]))) -- TODO: fltk14 belongs into the *setup* dependencies.
5294 , ("gf", set phaseOverrides gfPhaseOverrides . set doCheck False)
5395 , ("gi-cairo", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
54− , ("gi-gdk", giGdkPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
55− , ("gi-gdkpixbuf", giGdkPixBufPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
56− , ("gi-gio", giPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
57− , ("gi-glib", giPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
58− , ("gi-gobject", giPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
59− , ("gi-gst", gstLibOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
60− , ("gi-gstaudio", gstLibAudioOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
61− , ("gi-gstbase", gstLibAudioOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
62− , ("gi-gstvideo", gstLibAudioOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
63− , ("gi-gtk", giGtkPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
64− , ("gi-javascriptcore", giJavascriptCorePhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
96+ , ("gi-gdk", set runHaddock True )
97+ , ("gi-gio", set runHaddock True )
98+ , ("gi-glib", set runHaddock True )
99+ , ("gi-gst", giGstLibOverrides "gstreamer") -- https://github.com/haskell-gi/haskell-gi/issues/36
100+ , ("gi-gstaudio", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
101+ , ("gi-gstbase", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
102+ , ("gi-gstvideo", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
103+ , ("gi-gtk", set runHaddock True )
104+ , ("gi-javascriptcore < 4.0.0.0", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
65105 , ("gi-pango", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
66− , ("gi-webkit2", giWebkit2PhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
67− , ("gi-webkit2webextension", giWebkit2PhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
106+ , ("gi-pango", set runHaddock True )
107+ , ("gi-pangocairo", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
108+ , ("gi-vte", set runHaddock True )
109+ , ("gi-webkit", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
68110 , ("gio", set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True)
69111 , ("git", set doCheck False) -- https://github.com/vincenthz/hit/issues/33
112+ , ("git-annex >= 6.20170925 && < 6.20171214", set doCheck False) -- some versions of git-annex require their test suite to be run inside of a git checkout
70113 , ("git-annex", gitAnnexHook)
71114 , ("github-backup", set (executableDepends . tool . contains (pkg "git")) True)
115+ , ("GLFW", over (libraryDepends . system) (Set.union (Set.fromList [bind "pkgs.xorg.libXext", bind "pkgs.xorg.libXfixes"])))
72116 , ("GlomeVec", set (libraryDepends . pkgconfig . contains (bind "self.llvmPackages.llvm")) True)
73− , ("goatee-gtk", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os /= OSX)))
117+ , ("graphviz", set (testDepends . system . contains (pkg "graphviz")) True)
74118 , ("gtk3", gtk3Hook)
119+ , ("gtkglext", gtkglextHook)
75120 , ("haddock", haddockHook) -- https://github.com/haskell/haddock/issues/511
76121 , ("hakyll", set (testDepends . tool . contains (pkg "utillinux")) True) -- test suite depends on "rev"
77122 , ("haskell-src-exts", set doCheck False)
78− , ("HFuse", set phaseOverrides hfusePreConfigure)
79123 , ("hfsevents", hfseventsOverrides)
124+ , ("HFuse", set phaseOverrides hfusePreConfigure)
80125 , ("hlibgit2 >= 0.18.0.14", set (testDepends . tool . contains (pkg "git")) True)
81− , ("hmatrix", set phaseOverrides "preConfigure = \"sed -i hmatrix.cabal -e 's@/usr/@/dont/hardcode/paths/@'\";")
126+ , ("hmatrix < 0.18.1.1", set phaseOverrides "preConfigure = \"sed -i hmatrix.cabal -e '/\\\\/usr\\\\//D'\";")
82127 , ("holy-project", set doCheck False) -- attempts to access the network
83128 , ("hoogle", set testTarget "--test-option=--no-net")
84129 , ("hsignal < 0.2.7.4", set phaseOverrides "prePatch = \"rm -v Setup.lhs\";") -- https://github.com/amcphail/hsignal/issues/1
85− , ("hslua", over (libraryDepends . each) (replace (pkg "lua") (pkg "lua5_1")))
130+ , ("hslua < 0.9.3", over (libraryDepends . system) (replace (pkg "lua") (pkg "lua5_1")))
131+ , ("hslua >= 0.9.3", over (libraryDepends . system) (replace (pkg "lua") (pkg "lua5_3")))
132+ , ("hspec-core >= 2.4.4", hspecCoreOverrides)
86133 , ("http-client", set doCheck False) -- attempts to access the network
87134 , ("http-client-openssl >= 0.2.0.1", set doCheck False) -- attempts to access the network
88135 , ("http-client-tls >= 0.2.2", set doCheck False) -- attempts to access the network
89136 , ("http-conduit", set doCheck False) -- attempts to access the network
90137 , ("imagemagick", set (libraryDepends . pkgconfig . contains (pkg "imagemagick")) True) -- https://github.com/NixOS/cabal2nix/issues/136
91− , ("include-file <= 0.1.0.2", set (libraryDepends . haskell . contains (bind "self.random")) True) -- https://github.com/Daniel-Diaz/include-file/issues/1
138+ , ("include-file <= 0.1.0.2", set (libraryDepends . haskell . contains (self "random")) True) -- https://github.com/Daniel-Diaz/include-file/issues/1
92139 , ("js-jquery", set doCheck False) -- attempts to access the network
93− , ("jsaddle", set (dependencies . haskell . contains (bind "self.ghcjs-base")) False)
94140 , ("libconfig", over (libraryDepends . system) (replace "config = null" (pkg "libconfig")))
95− , ("liquid-fixpoint", set (executableDepends . system . contains (pkg "ocaml")) True . set (testDepends . system . contains (pkg "z3")) True)
141+ , ("libxml", set (configureFlags . contains "--extra-include-dir=${libxml2.dev}/include/libxml2") True)
142+ , ("liquid-fixpoint", set (executableDepends . system . contains (pkg "ocaml")) True . set (testDepends . system . contains (pkg "z3")) True . set (testDepends . system . contains (pkg "nettools")) True . set (testDepends . system . contains (pkg "git")) True . set doCheck False)
96143 , ("liquidhaskell", set (testDepends . system . contains (pkg "z3")) True)
97− , ("MFlow < 4.6", set (libraryDepends . tool . contains (bind "self.cpphs")) True)
144+ , ("lzma-clib", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Windows)) . set (libraryDepends . haskell . contains (self "only-buildable-on-windows")) False)
145+ , ("MFlow < 4.6", set (libraryDepends . tool . contains (self "cpphs")) True)
98146 , ("mwc-random", set doCheck False)
99147 , ("mysql", set (libraryDepends . system . contains (pkg "mysql")) True)
100148 , ("network-attoparsec", set doCheck False) -- test suite requires network access
101149 , ("numeric-qq", set doCheck False) -- test suite doesn't finish even after 1+ days
102− , ("pandoc", set jailbreak False) -- jailbreak-cabal break the build
103− , ("pandoc >= 1.16.0.2", set doCheck False) -- https://github.com/jgm/pandoc/issues/2709 and https://github.com/fpco/stackage/issues/1332
104− , ("pandoc-citeproc", set doCheck False) -- https://github.com/jgm/pandoc-citeproc/issues/172
150+ , ("opencv", opencvOverrides)
151+ , ("pandoc >= 1.16.0.2 && < 2.5", set doCheck False) -- https://github.com/jgm/pandoc/issues/2709 and https://github.com/fpco/stackage/issues/1332
152+ , ("pandoc < 2.6", pandocPre26Overrides)
153+ , ("pandoc >= 2.6", pandocOverrides)
154+ , ("pandoc-citeproc", set doCheck False) -- https://github.com/jgm/pandoc-citeproc/issues/369
105155 , ("purescript", set doCheck False) -- test suite doesn't cope with Nix build env
106− , ("opencv", set phaseOverrides "hardeningDisable = [ \"bindnow\" ];")
156+ , ("proto-lens-protobuf-types", set (libraryDepends . tool . contains (pkg "protobuf")) True)
157+ , ("proto-lens-protoc", set (libraryDepends . tool . contains (pkg "protobuf")) True)
107158 , ("qtah-cpp-qt5", set (libraryDepends . system . contains (bind "pkgs.qt5.qtbase")) True)
108159 , ("qtah-qt5", set (libraryDepends . tool . contains (bind "pkgs.qt5.qtbase")) True)
109160 , ("readline", over (libraryDepends . system) (Set.union (pkgs ["readline", "ncurses"])))
110− , ("rocksdb-haskell", set (metaSection . platforms) (Set.singleton (Platform X86_64 Linux)))
161+ , ("req", set doCheck False) -- test suite requires network access
162+ , ("sbv > 7", set (testDepends . system . contains (pkg "z3")) True)
111163 , ("sdr", over (metaSection . platforms) (Set.filter (\(Platform arch _) -> arch == X86_64))) -- https://github.com/adamwalker/sdr/issues/2
112164 , ("shake-language-c", set doCheck False) -- https://github.com/samplecount/shake-language-c/issues/26
113− , ("sharc-timbre", set (metaSection . broken) True) -- The build takes insanely long, i.e. >8 hours.
114165 , ("ssh", set doCheck False) -- test suite runs forever, probably can't deal with our lack of network access
115166 , ("stack", set phaseOverrides stackOverrides . set doCheck False)
116167 , ("stripe-http-streams", set doCheck False . set (metaSection . broken) False)
117168 , ("target", set (testDepends . system . contains (pkg "z3")) True)
118169 , ("terminfo", set (libraryDepends . system . contains (pkg "ncurses")) True)
119170 , ("text", set doCheck False) -- break infinite recursion
120− , ("thyme", set (libraryDepends . tool . contains (bind "self.cpphs")) True) -- required on Darwin
171+ , ("tensorflow-proto", set (libraryDepends . tool . contains (pkg "protobuf")) True)
172+ , ("thyme", set (libraryDepends . tool . contains (self "cpphs")) True) -- required on Darwin
121173 , ("twilio", set doCheck False) -- attempts to access the network
122174 , ("tz", set phaseOverrides "preConfigure = \"export TZDIR=${pkgs.tzdata}/share/zoneinfo\";")
175+ , ("udev", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux)))
176+ , ("webkitgtk3", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
177+ , ("webkitgtk3-javascriptcore", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
123178 , ("websockets", set doCheck False) -- https://github.com/jaspervdj/websockets/issues/104
124179 , ("Win32", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Windows)))
180+ , ("Win32-shortcut", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Windows)))
125181 , ("wxc", wxcHook)
126182 , ("wxcore", set (libraryDepends . pkgconfig . contains (pkg "wxGTK")) True)
127− , ("X11", over (libraryDepends . system) (Set.union (Set.fromList $ map bind ["pkgs.xorg.libXinerama","pkgs.xorg.libXext","pkgs.xorg.libXrender"])))
128− , ("xmonad", set phaseOverrides xmonadPostInstall)
129− , ("zip-archive", over (testDepends . tool) (replace (bind "self.zip") (pkg "zip")))
183+ , ("X11", over (libraryDepends . system) (Set.union (Set.fromList $ map bind ["pkgs.xorg.libXinerama","pkgs.xorg.libXext","pkgs.xorg.libXrender","pkgs.xorg.libXScrnSaver"])))
184+ , ("xmonad >= 0.14.2", set phaseOverrides xmonadPostInstall)
185+ , ("zip-archive < 0.3.1", over (testDepends . tool) (replace (self "zip") (pkg "zip")))
186+ , ("zip-archive >= 0.3.1 && < 0.3.2.3", over (testDepends . tool) (Set.union (Set.fromList [pkg "zip", pkg "unzip"]))) -- https://github.com/jgm/zip-archive/issues/35
187+ , ("zip-archive >= 0.4", set (testDepends . tool . contains (pkg "which")) True)
130188 ]
131189
132190pkg :: Identifier -> Binding
133191pkg i = binding # (i, path # ["pkgs",i])
134192
193+self :: Identifier -> Binding
194+self i = binding # (i, path # ["self",i])
195+
135196pkgs :: [Identifier] -> Set Binding
136197pkgs = Set.fromList . map pkg
137198
@@ -141,10 +202,18 @@ bind s = binding # (i, path # is)
141202 is = map (review ident) (splitOn "." s)
142203 i = last is
143204
205+-- | @replace old new bset@ replaces the Nix binding @old@ with @new@ in the
206+-- set of bindings @bset@. If @old@ is not found in @bset@, then the function
207+-- fails with an 'error'.
144208replace :: Binding -> Binding -> Set Binding -> Set Binding
145−replace old new bs = if old `Set.member` bs then Set.insert new (Set.delete old bs) else bs
209+replace old new bs
210+ | old `Set.member` bs = Set.insert new (Set.delete old bs)
211+ | otherwise = error (unwords [ "post-process: cannot replace name binding"
212+ , show old, "by", show new
213+ , "because it's not found in set"
214+ , show bs
215+ ])
146216
147−-- TODO: I need to figure out how to conveniently replace a binding in a set.
148217gtk3Hook :: Derivation -> Derivation -- https://github.com/NixOS/cabal2nix/issues/145
149218gtk3Hook = set (libraryDepends . pkgconfig . contains (pkg "gtk3")) True
150219 . over (libraryDepends . pkgconfig) (Set.filter (\b -> view localName b /= "gtk3"))
@@ -158,13 +227,15 @@ haddockHook = set doCheck False
158227gitAnnexHook :: Derivation -> Derivation
159228gitAnnexHook = set phaseOverrides gitAnnexOverrides
160229 . over (executableDepends . system) (Set.union buildInputs)
161− . over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os /= OSX))
162230 where
163231 gitAnnexOverrides = unlines
164232 [ "preConfigure = \"export HOME=$TEMPDIR; patchShebangs .\";"
165− , "postBuild = \"ln -sf dist/build/git-annex/git-annex git-annex\";"
166− , "installPhase = \"make PREFIX=$out CABAL=./Setup BUILDER=./Setup install\";"
167− , "checkPhase = \"./git-annex test\";"
233+ , "postBuild = ''"
234+ , " ln -sf dist/build/git-annex/git-annex git-annex"
235+ , " ln -sf git-annex git-annex-shell"
236+ , "'';"
237+ , "installPhase = \"make PREFIX=$out BUILDER=: install install-completions\";"
238+ , "checkPhase = ''PATH+=\":$PWD\" git-annex test'';"
168239 , "enableSharedExecutables = false;"
169240 ]
170241 buildInputs = pkgs ["git","rsync","gnupg","curl","wget","lsof","openssh","which","bup","perl"]
@@ -185,13 +256,13 @@ gfPhaseOverrides = unlines
185256 , " sed -i \"s|numJobs (bf bi)++||\" ./Setup.hs"
186257 -- Parallel compilation fails. Disable it.
187258 , "'';"
188− , "preBuild = ''export LD_LIBRARY_PATH=`pwd`/dist/build:$LD_LIBRARY_PATH'';"
259+ , "preBuild = ''export LD_LIBRARY_PATH=`pwd`/dist/build''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH'';"
189260 -- The build step itself, after having built the library, needs to be able
190261 -- to find the library it just built in order to compile grammar files.
191262 ]
192263
193264wxcHook :: Derivation -> Derivation
194−wxcHook drv = drv & libraryDepends . system %~ Set.union (Set.fromList [pkg "mesa", bind "pkgs.xorg.libX11"])
265+wxcHook drv = drv & libraryDepends . system %~ Set.union (Set.fromList [pkg "libGL", bind "pkgs.xorg.libX11"])
195266 & libraryDepends . pkgconfig . contains (pkg "wxGTK") .~ True
196267 & phaseOverrides .~ wxcPostInstall (packageVersion drv)
197268 & runHaddock .~ False
@@ -221,16 +292,15 @@ darcsInstallPostInstall = unlines
221292xmonadPostInstall :: String
222293xmonadPostInstall = unlines
223294 [ "postInstall = ''"
224− , " shopt -s globstar"
225− , " mkdir -p $out/share/man/man1"
226− , " mv \"$out/\"**\"/man/\"*.1 $out/share/man/man1/"
295+ , " install -D man/xmonad.1 ''${!outputDoc}/share/man/man1/xmonad.1"
296+ , " install -D man/xmonad.hs ''${!outputDoc}/share/doc/$name/sample-xmonad.hs"
227297 , "'';"
228298 ]
229299
230300agdaPostInstall :: String
231301agdaPostInstall = unlines
232302 [ "postInstall = ''"
233− , " $out/bin/agda -c --no-main $(find $out/share -name Primitive.agda)"
303+ , " $out/bin/agda -c --no-main $(find $data/share -name Primitive.agda)"
234304 , " $out/bin/agda-mode compile"
235305 , "'';"
236306 ]
@@ -238,7 +308,7 @@ agdaPostInstall = unlines
238308agda25PostInstall :: String
239309agda25PostInstall = unlines
240310 [ "postInstall = ''"
241− , " files=(\"$out/share/\"*\"-ghc-\"*\"/Agda-\"*\"/lib/prim/Agda/\"{Primitive.agda,Builtin\"/\"*.agda})"
311+ , " files=(\"$data/share/ghc-\"*\"/\"*\"-ghc-\"*\"/Agda-\"*\"/lib/prim/Agda/\"{Primitive.agda,Builtin\"/\"*.agda})"
242312 -- Separate loops to avoid internal error
243313 , " for f in \"''${files[@]}\" ; do"
244314 , " $out/bin/agda $f"
@@ -260,52 +330,14 @@ stackOverrides = unlines
260330 , "'';"
261331 ]
262332
263−exportGirSearchPath :: [String] -> String
264−exportGirSearchPath packages =
265− "export HASKELL_GI_GIR_SEARCH_PATH="
266− ++ intercalate ":" [ "${" ++ package ++ "}/share/gir-1.0" | package <- packages]
267−
268−giPhaseOverrides :: Derivation -> Derivation
269−giPhaseOverrides
270− = set phaseOverrides ("preConfigure = ''" ++ exportGirSearchPath ["gobjectIntrospection.dev"] ++ "'';")
271− . set (libraryDepends . pkgconfig . contains (pkg "gobjectIntrospection")) True
272−
273−giGdkPhaseOverrides :: Derivation -> Derivation
274−giGdkPhaseOverrides
275− = set phaseOverrides ("preConfigure = ''" ++ exportGirSearchPath ["gtk3.dev"] ++ "'';")
276−
277−gstLibOverrides :: Derivation -> Derivation
278−gstLibOverrides
279− = over (libraryDepends . pkgconfig) (replace (pkg "gstreamer") "gstreamer = pkgs.gst_all_1.gstreamer")
280−
281−gstLibAudioOverrides :: Derivation -> Derivation
282−gstLibAudioOverrides
283− = over (libraryDepends . pkgconfig) (replace (pkg "gst_plugins_base") "gst_plugins_base = pkgs.gst_all_1.gst-plugins-base")
284− . set (libraryDepends . system . contains (pkg "gobjectIntrospection")) True
285−
286−giGdkPixBufPhaseOverrides :: Derivation -> Derivation
287−giGdkPixBufPhaseOverrides
288− = set phaseOverrides (unlines
289− [ "preConfigure = ''"
290− , " " ++ exportGirSearchPath ["gobjectIntrospection.dev", "gdk_pixbuf.dev"]
291− , " export GI_TYPELIB_PATH=${gdk_pixbuf.out}/lib/girepository-1.0"
292− , "'';"
293− ])
294− . set (libraryDepends . pkgconfig . contains (pkg "gobjectIntrospection")) True
295−
296−giGtkPhaseOverrides :: Derivation -> Derivation
297−giGtkPhaseOverrides
298− = set phaseOverrides ("preConfigure = ''" ++ exportGirSearchPath ["gtk3.dev"] ++ "'';")
299−
300−giJavascriptCorePhaseOverrides :: Derivation -> Derivation
301−giJavascriptCorePhaseOverrides
302− = set phaseOverrides ("preConfigure = ''" ++ exportGirSearchPath ["webkitgtk"] ++ "'';")
303− . set (libraryDepends . pkgconfig . contains (pkg "webkitgtk")) True
333+-- Replace a binding for <package> to one to pkgs.gst_all_1.<package>
334+giGstLibOverrides :: String -> Derivation -> Derivation
335+giGstLibOverrides package
336+ = over (libraryDepends . pkgconfig) (replace (pkg (ident # package)) (binding # (ident # package, path # ["pkgs","gst_all_1", ident # package])))
304337
305338giCairoPhaseOverrides :: Derivation -> Derivation
306−giCairoPhaseOverrides = over phaseOverrides (++'\n':txt)
339+giCairoPhaseOverrides = over phaseOverrides (++txt)
307340 . set (libraryDepends . pkgconfig . contains (pkg "cairo")) True
308− . giPhaseOverrides
309341 where
310342 txt = unlines [ "preCompileBuildDriver = ''"
311343 , " PKG_CONFIG_PATH+=\":${cairo}/lib/pkgconfig\""
@@ -313,11 +345,6 @@ giCairoPhaseOverrides = over phaseOverrides (++'\n':txt)
313345 , "'';"
314346 ]
315347
316−giWebkit2PhaseOverrides :: Derivation -> Derivation
317−giWebkit2PhaseOverrides
318− = set phaseOverrides ("preConfigure = ''" ++ exportGirSearchPath ["webkitgtk"] ++ "'';")
319− . set (libraryDepends . pkgconfig . contains (pkg "webkitgtk")) True
320−
321348hfseventsOverrides :: Derivation -> Derivation
322349hfseventsOverrides
323350 = set isLibrary True
@@ -325,3 +352,58 @@ hfseventsOverrides
325352 . set (libraryDepends . tool . contains (bind "pkgs.darwin.apple_sdk.frameworks.CoreServices")) True
326353 . set (libraryDepends . system . contains (bind "pkgs.darwin.apple_sdk.frameworks.Cocoa")) True
327354 . over (libraryDepends . haskell) (Set.union (Set.fromList (map bind ["self.base", "self.cereal", "self.mtl", "self.text", "self.bytestring"])))
355+
356+webkitgtk24xHook :: Derivation -> Derivation -- https://github.com/NixOS/cabal2nix/issues/145
357+webkitgtk24xHook = set (libraryDepends . pkgconfig . contains (pkg "webkitgtk24x-gtk3")) True
358+ . over (libraryDepends . pkgconfig) (Set.filter (\b -> view localName b /= "webkitgtk24x-gtk3"))
359+
360+opencvOverrides :: Derivation -> Derivation
361+opencvOverrides = set phaseOverrides "hardeningDisable = [ \"bindnow\" ];"
362+ . over (libraryDepends . pkgconfig) (replace (pkg "opencv") (pkg "opencv3"))
363+
364+hspecCoreOverrides :: Derivation -> Derivation -- https://github.com/hspec/hspec/issues/330
365+hspecCoreOverrides = set phaseOverrides "testTarget = \"--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'\";"
366+
367+cabal2nixOverrides :: Derivation -> Derivation
368+cabal2nixOverrides = set phaseOverrides $ unlines
369+ [ "preCheck = ''"
370+ , " export PATH=\"$PWD/dist/build/cabal2nix:$PATH\""
371+ , " export HOME=\"$TMPDIR/home\""
372+ , "'';"
373+ ]
374+
375+gtkglextHook :: Derivation -> Derivation
376+gtkglextHook = over (libraryDepends . system) (Set.union (Set.fromList deps))
377+ where
378+ deps :: [Binding]
379+ deps = bind <$> [ "pkgs.gtk2"
380+ , "pkgs.libGLU"
381+ , "pkgs.xorg.libSM"
382+ , "pkgs.xorg.libICE"
383+ , "pkgs.xorg.libXt"
384+ , "pkgs.xorg.libXmu"
385+ ]
386+
387+pandocPre26Overrides :: Derivation -> Derivation
388+pandocPre26Overrides = set phaseOverrides postInstall
389+ where
390+ postInstall = unlines [ "postInstall = ''"
391+ , " mkdir -p $out/share"
392+ , " mv $data/*/*/man $out/share/"
393+ , "'';"
394+ ]
395+
396+pandocOverrides :: Derivation -> Derivation
397+pandocOverrides = set phaseOverrides postInstall
398+ where
399+ postInstall = unlines [ "postInstall = ''"
400+ , " mkdir -p $out/share/man/man1"
401+ , " mv \"man/\"*.1 $out/share/man/man1/"
402+ , "'';"
403+ ]
404+
405+bustleOverrides :: Derivation -> Derivation
406+bustleOverrides = set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True
407+ . set (executableDepends . pkgconfig . contains "gio-unix = null") False
408+ . set (metaSection . license) (Known "stdenv.lib.licenses.lgpl21Plus")
409+ . set (metaSection . hydraPlatforms) allKnownPlatforms
src/Distribution/Nixpkgs/Haskell/Hackage.hs+41−25
@@ -1,29 +1,45 @@
1−module Distribution.Nixpkgs.Haskell.Hackage ( readHashedHackage, module Distribution.Hackage.DB ) where
1+module Distribution.Nixpkgs.Haskell.Hackage
2+ ( HackageDB, PackageData, VersionData(..)
3+ , hackageTarball, readTarball, parsePackageData
4+ )
5+ where
26
3−import Data.ByteString.Lazy ( ByteString )
4−import Data.Digest.Pure.SHA ( sha256, showDigest )
5−import Distribution.Hackage.DB
6−import qualified Distribution.Hackage.DB.Parsed as Unparsed ( parsePackage )
7−import qualified Distribution.Hackage.DB.Unparsed as Unparsed
7+import Data.Map as Map
8+import qualified Distribution.Hackage.DB.Parsed as P
9+import Distribution.Hackage.DB.Path
10+import qualified Distribution.Hackage.DB.Unparsed as U
11+import Distribution.Nixpkgs.Hashes
12+import Distribution.Package
13+import Distribution.PackageDescription
14+import Distribution.Version
15+import OpenSSL.Digest
16+import Data.Time
817
9−-- | A variant of 'readHackage' that adds the SHA256 digest of the
10−-- original Cabal file to the parsed 'GenericPackageDescription'. That
11−-- hash is required to build packages with an "edited" cabal file,
12−-- because Nix needs to download the edited file and patch it into the
13−-- original tarball.
18+type HackageDB = Map PackageName PackageData
1419
15−readHashedHackage :: IO Hackage
16−readHashedHackage = fmap parseUnparsedHackage Unparsed.readHackage
17− where
18− parseUnparsedHackage :: Unparsed.Hackage -> Hackage
19− parseUnparsedHackage = mapWithKey (mapWithKey . parsePackage)
20+type PackageData = Map Version VersionData
21+
22+data VersionData = VersionData
23+ { cabalFile :: !GenericPackageDescription
24+ , cabalFileSha256 :: !String
25+ , tarballSha256 :: !(Maybe String)
26+ }
27+ deriving (Show)
2028
21− parsePackage :: String -> Version -> ByteString -> GenericPackageDescription
22− parsePackage name version buf =
23− let pkg = Unparsed.parsePackage name version buf
24− hash = showDigest (sha256 buf)
25− in
26− pkg { packageDescription = (packageDescription pkg) {
27− customFieldsPD = ("X-Cabal-File-Hash", hash) : customFieldsPD (packageDescription pkg)
28− }
29− }
29+readTarball :: Maybe UTCTime -> FilePath -> IO HackageDB
30+readTarball ts p = do
31+ dbu <- U.readTarball ts p
32+ let dbp = P.parseDB dbu
33+ return (mapWithKey (parsePackageData dbu) dbp)
34+
35+parsePackageData :: U.HackageDB -> PackageName -> P.PackageData -> PackageData
36+parsePackageData dbu pn = mapWithKey (parseVersionData (dbu ! pn))
37+
38+parseVersionData :: U.PackageData -> Version -> P.VersionData -> VersionData
39+parseVersionData pdu v vd = VersionData
40+ { cabalFile = P.cabalFile vd
41+ , cabalFileSha256 = printSHA256 (digest (digestByName "sha256") file)
42+ , tarballSha256 = Map.lookup "sha256" (P.tarballHashes vd)
43+ }
44+ where
45+ file = U.cabalFile (U.versions pdu ! v)
src/Distribution/Nixpkgs/Haskell/OrphanInstances.hs+32−60
@@ -1,7 +1,3 @@
1−{-# LANGUAGE CPP #-}
2−{-# LANGUAGE OverloadedStrings #-}
3−{-# LANGUAGE DeriveGeneric #-}
4−{-# LANGUAGE StandaloneDeriving #-}
51{-# OPTIONS_GHC -fno-warn-orphans #-}
62
73module Distribution.Nixpkgs.Haskell.OrphanInstances ( ) where
@@ -12,69 +8,23 @@ import Data.String
128import qualified Data.Text as T
139import Data.Yaml
1410import Distribution.Compiler
15−import Distribution.License
16−import Distribution.ModuleName hiding ( main, fromString )
1711import Distribution.Package
18−import Distribution.PackageDescription
12+import Distribution.Parsec
1913import Distribution.System
20−import Distribution.Text
14+import Distribution.Pretty as Cabal
15+import qualified Data.Version as Base
2116import Distribution.Version
22−import Language.Haskell.Extension
23−
24−#if !MIN_VERSION_Cabal(1,23,0)
25−import GHC.Generics ( Generic )
26−deriving instance Generic (CondTree v c a)
27−deriving instance Generic (Condition a)
28−deriving instance Generic ConfVar
29−deriving instance Generic Flag
30−deriving instance Generic GenericPackageDescription
31−#else
32−instance NFData SetupBuildInfo
33−#endif
34−
35−instance (NFData v, NFData c, NFData a) => NFData (CondTree v c a)
36−instance NFData Arch
37−instance NFData Benchmark
38−instance NFData BenchmarkInterface
39−instance NFData BenchmarkType
40−instance NFData BuildInfo
41−instance NFData BuildType
42−instance NFData CompilerFlavor
43−instance NFData ConfVar
44−instance NFData Dependency
45−instance NFData Executable
46−instance NFData Extension
47−instance NFData Flag
48−instance NFData FlagName
49−instance NFData GenericPackageDescription
50−instance NFData KnownExtension
51−instance NFData Language
52−instance NFData Library
53−instance NFData License
54−instance NFData ModuleName
55−instance NFData ModuleReexport
56−instance NFData ModuleRenaming
57−instance NFData OS
58−instance NFData PackageDescription
59−instance NFData RepoKind
60−instance NFData RepoType
61−instance NFData SourceRepo
62−instance NFData TestSuite
63−instance NFData TestSuiteInterface
64−instance NFData TestType
65−instance NFData VersionRange
66−instance NFData a => NFData (Condition a)
67−instance NFData Platform
17+import Language.Nix.PrettyPrinting as Nix
18+
6819instance NFData CompilerInfo
69−instance NFData CompilerId
7020instance NFData AbiTag
7121
72−instance IsString PackageName where
73− fromString = text2isString "PackageName"
74−
7522instance IsString Version where
7623 fromString = text2isString "Version"
7724
25+instance IsString VersionRange where
26+ fromString = text2isString "VersionRange"
27+
7828instance IsString PackageIdentifier where
7929 fromString = text2isString "PackageIdentifier"
8030
@@ -102,6 +52,10 @@ instance FromJSON PackageIdentifier where
10252 parseJSON (String s) = return (fromString (T.unpack s))
10353 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Haskell package identifier")
10454
55+instance FromJSON VersionRange where
56+ parseJSON (String s) = return (fromString (T.unpack s))
57+ parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Cabal VersionRange")
58+
10559instance FromJSON Dependency where
10660 parseJSON (String s) = return (fromString (T.unpack s))
10761 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Haskell Dependency")
@@ -110,7 +64,25 @@ instance FromJSON CompilerInfo where
11064 parseJSON (String s) = return (unknownCompilerInfo (fromString (T.unpack s)) NoAbiTag)
11165 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Haskell compiler")
11266
67+instance Nix.Pretty Version where
68+ pPrint = pretty
69+
70+instance Nix.Pretty PackageName where
71+ pPrint = pretty
72+
73+instance Nix.Pretty PackageIdentifier where
74+ pPrint = pretty
75+
76+instance Nix.Pretty CompilerId where
77+ pPrint = pretty
78+
79+instance Nix.Pretty Platform where
80+ pPrint = pretty
81+
82+instance Nix.Pretty Base.Version where
83+ pPrint = text . Base.showVersion
84+
11385-- parsing tools
11486
115−text2isString :: Text a => String -> String -> a
116−text2isString t s = fromMaybe (error ("fromString: " ++ show s ++ " is not a valid " ++ t)) (simpleParse s)
87+text2isString :: Parsec a => String -> String -> a
88+text2isString t s = fromMaybe (error ("fromString: " ++ show s ++ " is not a valid " ++ t)) (simpleParsec s)
src/Distribution/Nixpkgs/Haskell/PackageSourceSpec.hs+181−66
@@ -1,69 +1,129 @@
11module Distribution.Nixpkgs.Haskell.PackageSourceSpec
2− ( Package(..), getPackage, sourceFromHackage
2+ ( HpackUse(..), Package(..), getPackage, getPackage', loadHackageDB, sourceFromHackage
33 ) where
44
55import qualified Control.Exception as Exception
66import Control.Monad
77import Control.Monad.IO.Class
88import Control.Monad.Trans.Maybe
9−import qualified Data.ByteString.Lazy.Char8 as BS8
10−import Data.Digest.Pure.SHA ( sha256, showDigest )
9+import Data.Bifunctor
10+import qualified Data.ByteString.Char8 as BS
1111import Data.List ( isSuffixOf, isPrefixOf )
12+import qualified Data.Map as DB
1213import Data.Maybe
13−import Data.Version
14−import Distribution.Hackage.DB.Parsed
14+import qualified Data.Text as T
15+import qualified Data.Text.Encoding as T
16+import Data.Time
1517import Distribution.Nixpkgs.Fetch
18+import Distribution.Nixpkgs.Hashes
1619import qualified Distribution.Nixpkgs.Haskell.Hackage as DB
20+import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
1721import qualified Distribution.Package as Cabal
1822import Distribution.PackageDescription
1923import qualified Distribution.PackageDescription as Cabal
20−import Distribution.Text ( simpleParse )
24+import Distribution.PackageDescription.Parsec as Cabal
25+import Distribution.Parsec
26+import Distribution.Version
27+import qualified Hpack.Config as Hpack
28+import qualified Hpack.Render as Hpack
29+import OpenSSL.Digest ( digest, digestByName )
2130import System.Directory ( doesDirectoryExist, doesFileExist, createDirectoryIfMissing, getHomeDirectory, getDirectoryContents )
2231import System.Exit ( exitFailure )
2332import System.FilePath ( (</>), (<.>) )
24−import System.IO ( hPutStrLn, stderr, hPutStr )
33+import System.IO
34+import Text.PrettyPrint.HughesPJClass hiding ( first )
35+
36+data HpackUse
37+ = ForceHpack
38+ | PackageYamlHpack
39+ | NoHpack
2540
2641data Package = Package
27− { pkgSource :: DerivationSource
28− , pkgCabal :: Cabal.GenericPackageDescription
42+ { pkgSource :: DerivationSource
43+ , pkgRanHpack :: Bool -- ^ If hpack generated a new cabal file
44+ , pkgCabal :: Cabal.GenericPackageDescription
2945 }
3046 deriving (Show)
3147
32−getPackage :: Maybe String -> Source -> IO Package
33−getPackage optHackageDB source = do
34− (derivSource, pkgDesc) <- fetchOrFromDB optHackageDB source
35− flip Package pkgDesc <$> maybe (sourceFromHackage (sourceHash source) $ showPackageIdentifier pkgDesc) return derivSource
48+getPackage :: HpackUse
49+ -- ^ the way hpack should be used.
50+ -> Bool
51+ -- ^ Whether to fetch submodules if fetching from git
52+ -> Maybe FilePath
53+ -- ^ The path to the Hackage database.
54+ -> Maybe UTCTime
55+ -- ^ If we have hackage-snapshot time.
56+ -> Source
57+ -> IO Package
58+getPackage optHpack optSubmodules optHackageDB optHackageSnapshot =
59+ getPackage' optHpack optSubmodules (loadHackageDB optHackageDB optHackageSnapshot)
3660
61+getPackage' :: HpackUse
62+ -- ^ the way hpack should be used.
63+ -> Bool
64+ -- ^ Whether to fetch submodules if fetching from git
65+ -> IO DB.HackageDB
66+ -> Source
67+ -> IO Package
68+getPackage' optHpack optSubmodules hackageDB source = do
69+ (derivSource, ranHpack, pkgDesc) <- fetchOrFromDB optHpack optSubmodules hackageDB source
70+ (\s -> Package s ranHpack pkgDesc) <$> maybe (sourceFromHackage (sourceHash source) (showPackageIdentifier pkgDesc) $ sourceCabalDir source) return derivSource
3771
38−fetchOrFromDB :: Maybe String -> Source -> IO (Maybe DerivationSource, Cabal.GenericPackageDescription)
39−fetchOrFromDB optHackageDB src
40− | "cabal://" `isPrefixOf` sourceUrl src = fmap ((,) Nothing) . fromDB optHackageDB . drop (length "cabal://") $ sourceUrl src
72+fetchOrFromDB :: HpackUse
73+ -- ^ the way hpack should be used
74+ -> Bool
75+ -- ^ Whether to fetch submodules if fetching from git
76+ -> IO DB.HackageDB
77+ -> Source
78+ -> IO (Maybe DerivationSource, Bool, Cabal.GenericPackageDescription)
79+fetchOrFromDB optHpack optSubmodules hackageDB src
80+ | "cabal://" `isPrefixOf` sourceUrl src = do
81+ (msrc, pkgDesc) <- fromDB hackageDB . drop (length "cabal://") $ sourceUrl src
82+ return (msrc, False, pkgDesc)
4183 | otherwise = do
42− r <- fetch cabalFromPath src
84+ r <- fetch optSubmodules (\dir -> cabalFromPath optHpack (dir </> sourceCabalDir src)) src
4385 case r of
44− Nothing ->
45− hPutStrLn stderr "*** failed to fetch source. Does the URL exist?" >> exitFailure
46− Just (derivSource, (externalSource, pkgDesc)) ->
47− return (derivSource <$ guard externalSource, pkgDesc)
48−
49−fromDB :: Maybe String -> String -> IO Cabal.GenericPackageDescription
50−fromDB optHackageDB pkg = do
51− pkgDesc <- (lookupVersion <=< DB.lookup name) <$> maybe DB.readHashedHackage DB.readHackage' optHackageDB
52− case pkgDesc of
53− Just r -> return r
54− Nothing -> hPutStrLn stderr "*** no such package in the cabal database (did you run cabal update?). " >> exitFailure
86+ Nothing -> fail $ "Failed to fetch source. Does this source exist? " ++ show src
87+ Just (derivSource, (externalSource, ranHpack, pkgDesc)) ->
88+ return (derivSource <$ guard externalSource, ranHpack, pkgDesc)
89+
90+loadHackageDB :: Maybe FilePath
91+ -- ^ The path to the Hackage database.
92+ -> Maybe UTCTime
93+ -- ^ If we have hackage-snapshot time.
94+ -> IO DB.HackageDB
95+loadHackageDB optHackageDB optHackageSnapshot = do
96+ dbPath <- maybe DB.hackageTarball return optHackageDB
97+ DB.readTarball optHackageSnapshot dbPath
98+
99+fromDB :: IO DB.HackageDB
100+ -> String
101+ -> IO (Maybe DerivationSource, Cabal.GenericPackageDescription)
102+fromDB hackageDBIO pkg = do
103+ hackageDB <- hackageDBIO
104+ vd <- maybe unknownPackageError return (DB.lookup name hackageDB >>= lookupVersion)
105+ let ds = case DB.tarballSha256 vd of
106+ Nothing -> Nothing
107+ Just hash -> Just (urlDerivationSource url hash)
108+ return (ds, setCabalFileHash (DB.cabalFileSha256 vd) (DB.cabalFile vd))
55109 where
56− pkgId = fromMaybe (error ("invalid Haskell package id " ++ show pkg)) (simpleParse pkg)
57− Cabal.PackageName name = Cabal.pkgName pkgId
58− version = Cabal.pkgVersion pkgId
110+ pkgId :: Cabal.PackageIdentifier
111+ pkgId = fromMaybe (error ("invalid Haskell package id " ++ show pkg)) (simpleParsec pkg)
112+ name = Cabal.packageName pkgId
59113
60− lookupVersion :: DB.Map DB.Version Cabal.GenericPackageDescription -> Maybe Cabal.GenericPackageDescription
61− lookupVersion
62− | null (versionBranch version) = fmap snd . listToMaybe . reverse . DB.toAscList
63− | otherwise = DB.lookup version
114+ unknownPackageError = fail $ "No such package " ++ prettyShow pkgId ++ " in the cabal database. Did you run cabal update?"
115+
116+ url = "mirror://hackage/" ++ prettyShow pkgId ++ ".tar.gz"
117+
118+ version :: Version
119+ version = Cabal.packageVersion pkgId
64120
121+ lookupVersion :: DB.Map Version DB.VersionData -> Maybe DB.VersionData
122+ -- No version is specified, pick latest one
123+ lookupVersion m | version == nullVersion = fmap snd (listToMaybe (DB.toDescList m))
124+ lookupVersion m = DB.lookup version m
65125
66−readFileMay :: String -> IO (Maybe String)
126+readFileMay :: FilePath -> IO (Maybe String)
67127readFileMay file = do
68128 e <- doesFileExist file
69129 if e
@@ -77,8 +137,8 @@ hashCachePath pid = do
77137 createDirectoryIfMissing True cacheDir
78138 return $ cacheDir </> pid <.> "sha256"
79139
80−sourceFromHackage :: Hash -> String -> IO DerivationSource
81−sourceFromHackage optHash pkgId = do
140+sourceFromHackage :: Hash -> String -> FilePath -> IO DerivationSource
141+sourceFromHackage optHash pkgId cabalDir = do
82142 cacheFile <- hashCachePath pkgId
83143 cachedHash <-
84144 case optHash of
@@ -90,20 +150,20 @@ sourceFromHackage optHash pkgId = do
90150 -- Use the cached hash (either from cache file or given on cmdline via sha256 opt)
91151 -- if available, otherwise download from hackage to compute hash.
92152 case cachedHash of
93− Guess hash -> return $ DerivationSource "url" url "" hash
153+ Guess hash -> return $ urlDerivationSource url hash
94154 Certain hash ->
95155 -- We need to force the hash here. If we didn't do this, then when reading the
96156 -- hash from the cache file, the cache file will still be open for reading
97157 -- (because lazy io) when writeFile opens the file again for writing. By forcing
98158 -- the hash here, we ensure that the file is closed before opening it again.
99159 seq (length hash) $
100− DerivationSource "url" url "" hash <$ writeFile cacheFile hash
160+ urlDerivationSource url hash <$ writeFile cacheFile hash
101161 UnknownHash -> do
102− maybeHash <- runMaybeT (derivHash . fst <$> fetchWith (False, "url", []) (Source url "" UnknownHash))
162+ maybeHash <- runMaybeT (derivHash . fst <$> fetchWith (False, "url", []) (Source url "" UnknownHash cabalDir))
103163 case maybeHash of
104164 Just hash ->
105165 seq (length hash) $
106− DerivationSource "url" url "" hash <$ writeFile cacheFile hash
166+ urlDerivationSource url hash <$ writeFile cacheFile hash
107167 Nothing -> do
108168 hPutStr stderr $ unlines
109169 [ "*** cannot compute hash. (Not a hackage project?)"
@@ -116,42 +176,97 @@ sourceFromHackage optHash pkgId = do
116176 exitFailure
117177
118178showPackageIdentifier :: Cabal.GenericPackageDescription -> String
119−showPackageIdentifier pkgDesc = name ++ "-" ++ showVersion version where
179+showPackageIdentifier pkgDesc = name ++ "-" ++ prettyShow version where
120180 pkgId = Cabal.package . Cabal.packageDescription $ pkgDesc
121− Cabal.PackageName name = Cabal.packageName pkgId
181+ name = Cabal.unPackageName (Cabal.packageName pkgId)
122182 version = Cabal.packageVersion pkgId
123183
124−cabalFromPath :: FilePath -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
125−cabalFromPath path = do
184+cabalFromPath :: HpackUse -- ^ the way hpack should be used
185+ -> FilePath -> MaybeT IO (Bool, Bool, Cabal.GenericPackageDescription)
186+cabalFromPath optHpack path = do
126187 d <- liftIO $ doesDirectoryExist path
127− (,) d <$> if d
128− then cabalFromDirectory path
129− else cabalFromFile False path
188+ if d
189+ then do
190+ (ranHpack, pkg) <- cabalFromDirectory optHpack path
191+ return (d, ranHpack, pkg)
192+ else (,,) d False <$> cabalFromFile False path
130193
131−cabalFromDirectory :: FilePath -> MaybeT IO Cabal.GenericPackageDescription
132−cabalFromDirectory dir = do
194+cabalFromDirectory :: HpackUse -- ^ the way hpack should be used
195+ -> FilePath -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
196+cabalFromDirectory ForceHpack dir = hpackDirectory dir
197+cabalFromDirectory NoHpack dir = onlyCabalFromDirectory dir "*** No .cabal file was found. Exiting."
198+cabalFromDirectory PackageYamlHpack dir = do
199+ useHpack <- liftIO $ doesFileExist (dir </> "package.yaml")
200+ if useHpack
201+ then do
202+ liftIO $ hPutStrLn stderr "*** found package.yaml. Using hpack..."
203+ hpackDirectory dir
204+ else onlyCabalFromDirectory dir "*** Found neither a .cabal file nor package.yaml. Exiting."
205+
206+onlyCabalFromDirectory :: FilePath -> String -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
207+onlyCabalFromDirectory dir errMsg = do
133208 cabals <- liftIO $ getDirectoryContents dir >>= filterM doesFileExist . map (dir </>) . filter (".cabal" `isSuffixOf`)
134209 case cabals of
135− [cabalFile] -> cabalFromFile True cabalFile
136− _ -> liftIO $ hPutStrLn stderr "*** found zero or more than one cabal file. Exiting." >> exitFailure
210+ [] -> fail errMsg
211+ [cabalFile] -> (,) False <$> cabalFromFile True cabalFile
212+ _ -> liftIO $ fail ("*** found more than one cabal file (" ++ show cabals ++ "). Exiting.")
137213
138214handleIO :: (Exception.IOException -> IO a) -> IO a -> IO a
139215handleIO = Exception.handle
140216
217+encodeUtf8 :: String -> BS.ByteString
218+encodeUtf8 = T.encodeUtf8 . T.pack
219+
220+hpackDirectory :: FilePath -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
221+hpackDirectory dir = do
222+ mPackage <- liftIO $ Hpack.readPackageConfig Hpack.defaultDecodeOptions {
223+ Hpack.decodeOptionsProgramName = Hpack.ProgramName "cabal2nix"
224+ , Hpack.decodeOptionsTarget = dir </> Hpack.packageConfig
225+ }
226+ case mPackage of
227+ Left err -> liftIO $ hPutStrLn stderr ("*** hpack error: " ++ show err ++ ". Exiting.") >> exitFailure
228+ Right r -> do
229+ let hpackOutput =
230+ let body = Hpack.renderPackage [] (Hpack.decodeResultPackage r)
231+ cabalVersion = Hpack.decodeResultCabalVersion r
232+ in encodeUtf8 $ cabalVersion ++ body
233+ hash = printSHA256 $ digest (digestByName "sha256") hpackOutput
234+ case runParseGenericPackageDescription "<hpack output>" hpackOutput of
235+ Left msg -> liftIO $ do
236+ hPutStrLn stderr "*** hpack output:"
237+ BS.hPutStrLn stderr hpackOutput
238+ hPutStrLn stderr "*** cannot parse hpack output:"
239+ hPutStrLn stderr msg
240+ fail "*** Exiting."
241+ Right pkg -> MaybeT $ return $ Just $ (,) True $ setCabalFileHash hash pkg
242+
141243cabalFromFile :: Bool -> FilePath -> MaybeT IO Cabal.GenericPackageDescription
142244cabalFromFile failHard file =
143− -- readFile throws an error if it's used on binary files which contain sequences
245+ -- hGetContents throws an error if it's used on files which contain sequences
144246 -- that do not represent valid characters. To catch that exception, we need to
145− -- wrap the whole block in `catchIO`, because of lazy IO. The `case` will force
146− -- the reading of the file, so we will always catch the expression here.
247+ -- wrap the whole block in `catchIO`.
147248 MaybeT $ handleIO (\err -> Nothing <$ hPutStrLn stderr ("*** parsing cabal file: " ++ show err)) $ do
148− buf <- BS8.readFile file
149− let hash = showDigest (sha256 buf)
150− case parsePackage' buf of
151− Left msg -> if failHard
152− then fail ("*** cannot parse " ++ show file ++ ": " ++ msg)
153− else return Nothing
154− Right pkg -> do return $ Just $ pkg { packageDescription = (packageDescription pkg) {
155− customFieldsPD = ("X-Cabal-File-Hash", hash) : customFieldsPD (packageDescription pkg)
156− }
157− }
249+ buf <- BS.readFile file
250+ let hash = printSHA256 (digest (digestByName "sha256") buf)
251+ case runParseGenericPackageDescription file buf of
252+ Left msg | failHard -> liftIO $ do
253+ hPutStrLn stderr $ "*** cannot parse " ++ show file ++ ":"
254+ hPutStrLn stderr msg
255+ fail "*** Exiting."
256+ Left _ -> return Nothing
257+ Right pkg -> return $ Just $ setCabalFileHash hash pkg
258+
259+runParseGenericPackageDescription
260+ :: FilePath
261+ -> BS.ByteString
262+ -> Either String Cabal.GenericPackageDescription
263+runParseGenericPackageDescription fpath
264+ = first (unlines . fmap (showPError fpath) . snd)
265+ . snd . runParseResult
266+ . parseGenericPackageDescription
267+
268+setCabalFileHash :: String -> GenericPackageDescription -> GenericPackageDescription
269+setCabalFileHash sha256 gpd = gpd { packageDescription = (packageDescription gpd) {
270+ customFieldsPD = ("X-Cabal-File-Hash", sha256) : customFieldsPD (packageDescription gpd)
271+ }
272+ }
test/Main.hsnew file+122
@@ -0,0 +1,122 @@
1+{-# LANGUAGE OverloadedStrings #-}
2+
3+module Main ( main ) where
4+
5+import Distribution.Nixpkgs.Fetch
6+import Distribution.Nixpkgs.Haskell.Derivation
7+import Distribution.Nixpkgs.Haskell.FromCabal
8+import Distribution.Nixpkgs.Haskell.FromCabal.Flags
9+
10+import Control.Lens
11+import Control.Monad
12+import qualified Data.Set as Set
13+import Distribution.Compiler
14+import Distribution.Package
15+import Distribution.PackageDescription
16+import Distribution.PackageDescription.Parsec
17+import Distribution.System
18+import Distribution.Verbosity
19+import Distribution.Version
20+import Language.Nix
21+import System.Directory
22+import System.FilePath
23+import System.Process
24+import Test.Tasty
25+import Test.Tasty.Golden
26+import Text.PrettyPrint.HughesPJClass
27+
28+main :: IO ()
29+main = do
30+ -- TODO: Run this test with all kinds of setLocaleEncoding values to ensure we don't
31+ -- depend on the system environment: https://github.com/NixOS/cabal2nix/issues/333.
32+ --
33+ -- TODO: Run this test without $HOME defined to ensure that we don't need that variable.
34+ cabal2nix <- findExecutable "cabal2nix" >>= maybe (fail "cannot find 'cabal2nix' in $PATH") return
35+ testCases <- listDirectoryFilesBySuffix ".cabal" "test/golden-test-cases"
36+ defaultMain $ testGroup "regression-tests"
37+ [ testGroup "cabal2nix library" (map testLibrary testCases)
38+ , testGroup "cabal2nix executable" (map (testExecutable cabal2nix) testCases)
39+ ]
40+
41+testLibrary :: String -> TestTree
42+testLibrary cabalFile = do
43+ let nixFile = cabalFile `replaceExtension` "nix"
44+ goldenFile = nixFile `addExtension` "golden"
45+
46+ cabal2nix :: GenericPackageDescription -> Derivation
47+ cabal2nix gpd = fromGenericPackageDescription
48+ (const True)
49+ (\i -> Just (binding # (i, path # [ident # "pkgs", i])))
50+ (Platform X86_64 Linux)
51+ (unknownCompilerInfo (CompilerId GHC (mkVersion [8,2])) NoAbiTag)
52+ (configureCabalFlags (packageId gpd))
53+ []
54+ gpd
55+ & src .~ DerivationSource
56+ { derivKind = "url"
57+ , derivUrl = "mirror://hackage/foo.tar.gz"
58+ , derivRevision = ""
59+ , derivHash = "deadbeef"
60+ , derivSubmodule = Nothing
61+ }
62+ & extraFunctionArgs %~ Set.union (Set.singleton "inherit stdenv")
63+ goldenVsFileDiff
64+ nixFile
65+ (\ref new -> ["diff", "-u", ref, new])
66+ goldenFile
67+ nixFile
68+ (readGenericPackageDescription silent cabalFile >>= writeFileLn nixFile . prettyShow . cabal2nix)
69+
70+-- | TODO:
71+--
72+-- * Run cabal2nix in an empty environment. Currently, this fails because the
73+-- tool uses $HOME to write cache files for SHA256 hashes. To fix this, use
74+-- of the cache directory ought to be optional. Arguably, the whole notion
75+-- of caching those hashes is a bit silly in the presence of format 01
76+-- cabal-install tarballs which contain them already.
77+--
78+-- * If we cannot get along without $HOME, then we should at least set it to
79+-- some temporary location that is empty.
80+--
81+-- * Run this test with different kinds of encodings.
82+--
83+-- * Run tests with a different target OS, like Darwin. The packages "iconv",
84+-- "crypt-sha512", "gl" might be worthwhile for testing since their output
85+-- differs on Darwin.
86+
87+testExecutable :: FilePath -> FilePath -> TestTree
88+testExecutable exe cabalFile = do
89+ let nixFile = cabalFile `replaceExtension` "nix"
90+ goldenFile = nixFile `addExtension` "golden"
91+ goldenVsFileDiff
92+ nixFile
93+ (\ref new -> ["diff", "-u", ref, new])
94+ goldenFile
95+ nixFile
96+ (callCommand (unwords ["env LANG=en_US.UTF-8", exe, "--sha256=deadbeef", "--system=x86_64-linux", "--compiler=ghc-8.2", "--", cabalFile, ">"++nixFile]))
97+
98+-------------------------------------------------------------------------------
99+-- * Helper functions
100+-------------------------------------------------------------------------------
101+
102+-- | Find all *files* in the given directory that end with the given suffix.
103+-- This function does not recurse, nor does it include the special entries
104+-- @'.'@ or @'..'@ in the result.
105+--
106+-- "Test.Tasty.Golden" offers 'findByExtension', which does something similar
107+-- (and arguably more general) as those two functions, but unfortunately that
108+-- function recurses through the directory hierarchy and in the process needs
109+-- plenty of stack space. There might be a space leak in that code, I am not
110+-- sure. Anyhow, since our test suite is supposed to run with 1K stack space,
111+-- we prefer our own simpler code.
112+
113+listDirectoryFilesBySuffix :: String -> FilePath -> IO [FilePath]
114+listDirectoryFilesBySuffix suff dirPath = do
115+ entries <- listDirectory dirPath
116+ filterM doesFileExist [ dirPath </> e | e <- entries, takeExtension e == suff ]
117+
118+-- | A variant of 'writeFile' that appends a newline to the end of the buffer
119+-- before writing.
120+
121+writeFileLn :: FilePath -> String -> IO ()
122+writeFileLn p buf = writeFile p (buf ++ "\n")
test/golden-test-cases/.gitignorenew file+1
@@ -0,0 +1 @@
1+/*.nix
test/golden-test-cases/ChasingBottoms.cabalnew file+185
@@ -0,0 +1,185 @@
1+name: ChasingBottoms
2+version: 1.3.1.3
3+license: MIT
4+license-file: LICENCE
5+copyright: Copyright (c) Nils Anders Danielsson 2004-2017.
6+author: Nils Anders Danielsson
7+maintainer: http://www.cse.chalmers.se/~nad/
8+synopsis: For testing partial and infinite values.
9+description:
10+ Do you ever feel the need to test code involving bottoms (e.g. calls to
11+ the @error@ function), or code involving infinite values? Then this
12+ library could be useful for you.
13+ .
14+ It is usually easy to get a grip on bottoms by showing a value and
15+ waiting to see how much gets printed before the first exception is
16+ encountered. However, that quickly gets tiresome and is hard to automate
17+ using e.g. QuickCheck
18+ (<http://www.cse.chalmers.se/~rjmh/QuickCheck/>). With this library you
19+ can do the tests as simply as the following examples show.
20+ .
21+ Testing explicitly for bottoms:
22+ .
23+ > > isBottom (head [])
24+ > True
25+ .
26+ > > isBottom bottom
27+ > True
28+ .
29+ > > isBottom (\_ -> bottom)
30+ > False
31+ .
32+ > > isBottom (bottom, bottom)
33+ > False
34+ .
35+ Comparing finite, partial values:
36+ .
37+ > > ((bottom, 3) :: (Bool, Int)) ==! (bottom, 2+5-4)
38+ > True
39+ .
40+ > > ((bottom, bottom) :: (Bool, Int)) <! (bottom, 8)
41+ > True
42+ .
43+ Showing partial and infinite values (@\\\/!@ is join and @\/\\!@ is meet):
44+ .
45+ > > approxShow 4 $ (True, bottom) \/! (bottom, 'b')
46+ > "Just (True, 'b')"
47+ .
48+ > > approxShow 4 $ (True, bottom) /\! (bottom, 'b')
49+ > "(_|_, _|_)"
50+ .
51+ > > approxShow 4 $ ([1..] :: [Int])
52+ > "[1, 2, 3, _"
53+ .
54+ > > approxShow 4 $ (cycle [bottom] :: [Bool])
55+ > "[_|_, _|_, _|_, _"
56+ .
57+ Approximately comparing infinite, partial values:
58+ .
59+ > > approx 100 [2,4..] ==! approx 100 (filter even [1..] :: [Int])
60+ > True
61+ .
62+ > > approx 100 [2,4..] /=! approx 100 (filter even [bottom..] :: [Int])
63+ > True
64+ .
65+ The code above relies on the fact that @bottom@, just as @error
66+ \"...\"@, @undefined@ and pattern match failures, yield
67+ exceptions. Sometimes we are dealing with properly non-terminating
68+ computations, such as the following example, and then it can be nice to
69+ be able to apply a time-out:
70+ .
71+ > > timeOut' 1 (reverse [1..5])
72+ > Value [5,4,3,2,1]
73+ .
74+ > > timeOut' 1 (reverse [1..])
75+ > NonTermination
76+ .
77+ The time-out functionality can be used to treat \"slow\" computations as
78+ bottoms:
79+ .
80+ @
81+ \> let tweak = Tweak &#x7b; approxDepth = Just 5, timeOutLimit = Just 2 &#x7d;
82+ \> semanticEq tweak (reverse [1..], [1..]) (bottom :: [Int], [1..] :: [Int])
83+ True
84+ @
85+ .
86+ @
87+ \> let tweak = noTweak &#x7b; timeOutLimit = Just 2 &#x7d;
88+ \> semanticJoin tweak (reverse [1..], True) ([] :: [Int], bottom)
89+ Just ([],True)
90+ @
91+ .
92+ This can of course be dangerous:
93+ .
94+ @
95+ \> let tweak = noTweak &#x7b; timeOutLimit = Just 0 &#x7d;
96+ \> semanticEq tweak (reverse [1..100000000]) (bottom :: [Integer])
97+ True
98+ @
99+ .
100+ Timeouts can also be applied to @IO@ computations:
101+ .
102+ > > let primes () = unfoldr (\(x:xs) -> Just (x, filter ((/= 0) . (`mod` x)) xs)) [2..]
103+ > > timeOutMicro 100 (print $ primes ())
104+ > [2,NonTermination
105+ > > timeOutMicro 10000 (print $ take 10 $ primes ())
106+ > [2,3,5,7,11,13,17,19,23,29]
107+ > Value ()
108+ .
109+ For the underlying theory and a larger example involving use of
110+ QuickCheck, see the article \"Chasing Bottoms, A Case Study in Program
111+ Verification in the Presence of Partial and Infinite Values\"
112+ (<http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html>).
113+ .
114+ The code has been tested using GHC. Most parts can probably be
115+ ported to other Haskell compilers, but this would require some work.
116+ The @TimeOut@ functions require preemptive scheduling, and most of
117+ the rest requires @Data.Generics@; @isBottom@ only requires
118+ exceptions, though.
119+category: Testing
120+tested-with: GHC == 6.12.3,
121+ GHC == 7.0.4,
122+ GHC == 7.4.2,
123+ GHC == 7.6.3,
124+ GHC == 7.8.4,
125+ GHC == 7.10.3,
126+ GHC == 8.0.2,
127+ GHC == 8.2.1
128+cabal-version: >= 1.9.2
129+build-type: Simple
130+
131+source-repository head
132+ type: darcs
133+ location: http://www.cse.chalmers.se/~nad/repos/ChasingBottoms/
134+
135+library
136+ exposed-modules:
137+ Test.ChasingBottoms,
138+ Test.ChasingBottoms.Approx,
139+ Test.ChasingBottoms.ApproxShow,
140+ Test.ChasingBottoms.ContinuousFunctions,
141+ Test.ChasingBottoms.IsBottom,
142+ Test.ChasingBottoms.Nat,
143+ Test.ChasingBottoms.SemanticOrd,
144+ Test.ChasingBottoms.TimeOut
145+
146+ other-modules: Test.ChasingBottoms.IsType
147+
148+ build-depends: QuickCheck >= 2.3 && < 2.11,
149+ mtl >= 2 && < 2.3,
150+ base >= 4.2 && < 4.11,
151+ containers >= 0.3 && < 0.6,
152+ random >= 1.0 && < 1.2,
153+ syb >= 0.1.0.2 && < 0.8
154+
155+test-suite ChasingBottomsTestSuite
156+ type: exitcode-stdio-1.0
157+
158+ main-is: Test/ChasingBottoms/Tests.hs
159+
160+ other-modules: Test.ChasingBottoms.Approx,
161+ Test.ChasingBottoms.Approx.Tests,
162+ Test.ChasingBottoms.ApproxShow,
163+ Test.ChasingBottoms.ApproxShow.Tests,
164+ Test.ChasingBottoms.ContinuousFunctions,
165+ Test.ChasingBottoms.ContinuousFunctions.Tests,
166+ Test.ChasingBottoms.IsBottom,
167+ Test.ChasingBottoms.IsBottom.Tests,
168+ Test.ChasingBottoms.IsType,
169+ Test.ChasingBottoms.IsType.Tests,
170+ Test.ChasingBottoms.Nat,
171+ Test.ChasingBottoms.Nat.Tests,
172+ Test.ChasingBottoms.SemanticOrd,
173+ Test.ChasingBottoms.SemanticOrd.Tests,
174+ Test.ChasingBottoms.TestUtilities,
175+ Test.ChasingBottoms.TestUtilities.Generators,
176+ Test.ChasingBottoms.TimeOut
177+ Test.ChasingBottoms.TimeOut.Tests
178+
179+ build-depends: QuickCheck >= 2.3 && < 2.11,
180+ mtl >= 2 && < 2.3,
181+ base >= 4.2 && < 4.11,
182+ containers >= 0.3 && < 0.6,
183+ random >= 1.0 && < 1.2,
184+ syb >= 0.1.0.2 && < 0.8,
185+ array >= 0.3 && < 0.6
test/golden-test-cases/ChasingBottoms.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, array, base, containers, mtl, QuickCheck, random
2+, stdenv, syb
3+}:
4+mkDerivation {
5+ pname = "ChasingBottoms";
6+ version = "1.3.1.3";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base containers mtl QuickCheck random syb
10+ ];
11+ testHaskellDepends = [
12+ array base containers mtl QuickCheck random syb
13+ ];
14+ description = "For testing partial and infinite values";
15+ license = stdenv.lib.licenses.mit;
16+}
test/golden-test-cases/Clipboard.cabalnew file+55
@@ -0,0 +1,55 @@
1+Name: Clipboard
2+Version: 2.3.2.0
3+Author: Sævar Berg (Windows), Matthew Bekkema (X11), Daniel Díaz (Maintainer)
4+Homepage: http://haskell.org/haskellwiki/Clipboard
5+License: BSD3
6+License-file: license
7+Maintainer: dhelta.diaz `at` gmail.com
8+Category: System
9+Stability: Stable
10+Synopsis: System clipboard interface.
11+Bug-reports: https://github.com/Daniel-Diaz/Clipboard/issues
12+Description:
13+ /Clipboard/ is a library for easily interfacing with the system clipboard with additional unicode support.
14+ Currently, only in a Windows or GNU/Linux (X11) system.
15+ .
16+ For example, if you type:
17+ .
18+ > $ setClipboardString "Hello, World!"
19+ .
20+ Then you have @\"Hello, World!\"@ available to be pasted wherever you want.
21+ .
22+ Now, if you type:
23+ .
24+ > $ modifyClipboardString reverse
25+ .
26+ You will have @\"!dlroW ,olleH\"@ in your clipboard. So:
27+ .
28+ > $ getClipboardString
29+ > "!dlroW ,olleH"
30+ .
31+ The X11 version depends on the @X11@ package, so you will need the X11 development library
32+ available on your system at compile time. You can install it by @sudo apt-get install libxrandr-dev@
33+ (or the equivalent on your system).
34+Build-type: Simple
35+Cabal-version: >= 1.6
36+Extra-source-files: README.md
37+
38+Source-repository head
39+ type: git
40+ location: git://github.com/Daniel-Diaz/Clipboard.git
41+
42+Library
43+ Exposed-modules: System.Clipboard
44+ Extensions: CPP
45+ if os(windows)
46+ Build-depends: base == 4.*
47+ , Win32 >= 2.2.0.0 && < 2.4
48+ Other-modules: System.Clipboard.Windows
49+ else
50+ Build-depends: base == 4.*
51+ , X11 >= 1.6
52+ , utf8-string
53+ , unix
54+ , directory
55+ Other-modules: System.Clipboard.X11
test/golden-test-cases/Clipboard.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, directory, stdenv, unix, utf8-string, X11 }:
2+mkDerivation {
3+ pname = "Clipboard";
4+ version = "2.3.2.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base directory unix utf8-string X11 ];
7+ homepage = "http://haskell.org/haskellwiki/Clipboard";
8+ description = "System clipboard interface";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/FenwickTree.cabalnew file+41
@@ -0,0 +1,41 @@
1+name: FenwickTree
2+version: 0.1.2.1
3+stability: alpha
4+homepage: https://github.com/mgajda/FenwickTree
5+package-url: http://hackage.haskell.org/package/FenwickTree
6+synopsis: Data structure for fast query and update of cumulative sums
7+description: Fenwick trees are a O(log N) data structure for updating cumulative sums.
8+ This implementation comes with an operation to find a least element for
9+ which real-valued cumulative sum reaches certain value, and allows for
10+ storage of arbitrary information in the nodes.
11+category: Data Structures
12+license: BSD3
13+license-file: LICENSE
14+
15+author: Michal J. Gajda
16+copyright: Copyright by Michal J. Gajda '2013
17+maintainer: mjgajda@googlemail.com
18+bug-reports: mailto:mjgajda@googlemail.com
19+
20+build-type: Simple
21+cabal-version: >=1.8
22+tested-with: GHC==7.8.4
23+data-files: README.md changelog
24+
25+source-repository head
26+ type: git
27+ location: git://github.com:mgajda/FenwickTree.git
28+
29+Library
30+ ghc-options: -fspec-constr-count=4 -O3
31+ build-depends: base>=4.0, base <5, template-haskell, QuickCheck >= 2.5.0.0
32+ other-extensions: ScopedTypeVariables
33+ exposed-modules: Data.Tree.Fenwick
34+ exposed: True
35+
36+Test-suite test_FenwickTree
37+ Type: exitcode-stdio-1.0
38+ main-is: tests/test_Fenwick.hs
39+ ghc-options: -fspec-constr-count=4 -O3
40+ Build-depends: base>=4.0, base <5, template-haskell, QuickCheck >= 2.5.0.0
41+
test/golden-test-cases/FenwickTree.nix.goldennew file+12
@@ -0,0 +1,12 @@
1+{ mkDerivation, base, QuickCheck, stdenv, template-haskell }:
2+mkDerivation {
3+ pname = "FenwickTree";
4+ version = "0.1.2.1";
5+ sha256 = "deadbeef";
6+ enableSeparateDataOutput = true;
7+ libraryHaskellDepends = [ base QuickCheck template-haskell ];
8+ testHaskellDepends = [ base QuickCheck template-haskell ];
9+ homepage = "https://github.com/mgajda/FenwickTree";
10+ description = "Data structure for fast query and update of cumulative sums";
11+ license = stdenv.lib.licenses.bsd3;
12+}
test/golden-test-cases/GPipe-GLFW.cabalnew file+51
@@ -0,0 +1,51 @@
1+name: GPipe-GLFW
2+version: 1.4.1.1
3+cabal-version: >=1.10
4+build-type: Simple
5+author: Patrick Redmond
6+license: MIT
7+license-file: LICENSE
8+copyright: Patrick Redmond
9+category: Graphics
10+stability: Experimental
11+homepage: https://github.com/plredmond/GPipe-GLFW
12+synopsis: GLFW OpenGL context creation for GPipe
13+description:
14+ GPipe-GLFW is a utility library to enable the use of GLFW as
15+ the OpenGL window and context handler for GPipe. GPipe is a
16+ typesafe functional API based on the conceptual model of
17+ OpenGL.
18+maintainer: Patrick Redmond
19+data-files: CHANGELOG.md
20+
21+library
22+ hs-source-dirs: src
23+ build-depends: base >= 4.7 && <4.11
24+ , stm >= 2.4 && <2.5
25+ , containers >= 0.5 && <0.6
26+ , async >= 2.1 && <2.3
27+ , GLFW-b >= 1.4 && <1.5
28+ , GPipe >= 2.2 && <2.3
29+ ghc-options: -Wall -Wno-orphans
30+ default-language: Haskell2010
31+ exposed-modules: Graphics.GPipe.Context.GLFW
32+ Graphics.GPipe.Context.GLFW.Input
33+ Graphics.GPipe.Context.GLFW.Window
34+ Graphics.GPipe.Context.GLFW.Misc
35+ other-modules: Graphics.GPipe.Context.GLFW.Calls
36+ Graphics.GPipe.Context.GLFW.Resource
37+ Graphics.GPipe.Context.GLFW.Wrappers
38+ Graphics.GPipe.Context.GLFW.Format
39+ Graphics.GPipe.Context.GLFW.Handler
40+ Graphics.GPipe.Context.GLFW.RPC
41+
42+source-repository head
43+ type: git
44+ location: https://github.com/plredmond/GPipe-GLFW.git
45+ subdir: GPipe-GLFW
46+
47+source-repository this
48+ type: git
49+ location: https://github.com/plredmond/GPipe-GLFW.git
50+ subdir: GPipe-GLFW
51+ tag: v1.4.1.1
test/golden-test-cases/GPipe-GLFW.nix.goldennew file+12
@@ -0,0 +1,12 @@
1+{ mkDerivation, async, base, containers, GLFW-b, GPipe, stdenv, stm
2+}:
3+mkDerivation {
4+ pname = "GPipe-GLFW";
5+ version = "1.4.1.1";
6+ sha256 = "deadbeef";
7+ enableSeparateDataOutput = true;
8+ libraryHaskellDepends = [ async base containers GLFW-b GPipe stm ];
9+ homepage = "https://github.com/plredmond/GPipe-GLFW";
10+ description = "GLFW OpenGL context creation for GPipe";
11+ license = stdenv.lib.licenses.mit;
12+}
test/golden-test-cases/GenericPretty.cabalnew file+99
@@ -0,0 +1,99 @@
1+-- GenericPretty.cabal auto-generated by cabal init. For additional
2+-- options, see
3+-- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr.
4+-- The name of the package.
5+Name: GenericPretty
6+
7+-- The package version. See the Haskell package versioning policy
8+-- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
9+-- standards guiding when and how versions should be incremented.
10+Version: 1.2.1
11+
12+-- A short (one-line) description of the package.
13+Synopsis: A generic, derivable, haskell pretty printer.
14+
15+-- A longer description of the package.
16+Description:
17+ GenericPretty is a Haskell library that supports automatic
18+ derivation of pretty printing functions on user defined data
19+ types.
20+ .
21+ The form of generics used is based on that introduced in the paper:
22+ Magalhaes, Dijkstra, Jeuring, and Loh,
23+ A Generic Deriving Mechanism for Haskell,
24+ 3'rd ACM Symposium on Haskell, pp. 37-48, September 2010,
25+ <http://dx.doi.org/10.1145/1863523.1863529>.
26+ Changes from the original paper in the GHC implementation
27+ are described here:
28+ <http://www.haskell.org/haskellwiki/GHC.Generics#Changes_from_the_paper>.
29+ .
30+ This package requires the use of the new GHC.Generics features
31+ <http://www.haskell.org/haskellwiki/GHC.Generics>, present from GHC 7.2.
32+ Use of these features is indicated by the DeriveGeneric pragma
33+ or the flag -XDeriveGeneric.
34+ .
35+ Pretty printing produces values of type Text.PrettyPrint.Doc, using
36+ the Text.PrettyPrint library
37+ <http://www.haskell.org/ghc/docs/latest/html/libraries/pretty-1.1.1.0/Text-PrettyPrint.html>.
38+ .
39+ The output provided is a pretty printed version of that provided by
40+ Prelude.show. That is, rendering the document provided by this pretty
41+ printer yields an output identical to that of Prelude.show, except
42+ for extra whitespace.
43+ .
44+ For information about the functions exported by the package please see
45+ the API linked further down this page.
46+
47+ For examples of usage, both basic and more complex see the README file and
48+ the haskell source code files in the TestSuite folder, both included in the package.
49+
50+ Finally for installation instructions also see the README file or this page:
51+ <http://www.haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package>
52+
53+-- URL for the project homepage or repository.
54+Homepage: https://github.com/RazvanRanca/GenericPretty
55+
56+-- The license under which the package is released.
57+License: BSD3
58+
59+-- The file containing the license text.
60+License-file: LICENSE
61+
62+-- The package author(s).
63+Author: Razvan Ranca
64+
65+-- An email address to which users can send suggestions, bug reports,
66+-- and patches.
67+Maintainer: ranca.razvan@gmail.com
68+
69+-- A copyright notice.
70+-- Copyright:
71+
72+Category: Text, Generics, Pretty Printer
73+
74+Build-type: Simple
75+
76+-- Extra files to be distributed with the package, such as examples or
77+-- a README.
78+Extra-source-files: README TestSuite/SimpleTest.hs TestSuite/Tests.hs TestSuite/CustomTest.hs TestSuite/ZigZagTest.hs
79+
80+-- Constraint on the version of Cabal needed to build this package.
81+Cabal-version: >=1.6
82+
83+
84+Library
85+ -- Modules exported by the library.
86+ Exposed-modules: Text.PrettyPrint.GenericPretty
87+
88+ -- Packages needed in order to build this package.
89+ Build-depends: base >= 3 && < 5, ghc-prim, pretty
90+
91+ -- Modules not exported by this package.
92+ -- Other-modules:
93+
94+ -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
95+ -- Build-tools:
96+
97+source-repository head
98+ type: git
99+ location: git@github.com:RazvanRanca/GenericPretty.git
test/golden-test-cases/GenericPretty.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, ghc-prim, pretty, stdenv }:
2+mkDerivation {
3+ pname = "GenericPretty";
4+ version = "1.2.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base ghc-prim pretty ];
7+ homepage = "https://github.com/RazvanRanca/GenericPretty";
8+ description = "A generic, derivable, haskell pretty printer";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/HPDF.cabalnew file+97
@@ -0,0 +1,97 @@
1+Name: HPDF
2+Version: 1.4.10
3+cabal-version: >=1.10
4+License: BSD3
5+License-file:LICENSE
6+Copyright: Copyright (c) 2007-2016, alpheccar.org
7+category: Graphics
8+synopsis: Generation of PDF documents
9+maintainer: misc@NOSPAMalpheccar.org
10+build-type: Simple
11+tested-with: GHC==7.8.4,GHC==7.10.2
12+homepage: http://www.alpheccar.org
13+description: A PDF library with support for several pages, page transitions, outlines, annotations, compression, colors, shapes, patterns, jpegs, fonts, typesetting ... Have a look at the "Graphics.PDF.Documentation" module to see how to use it. Or, download the package and look at the test.hs file in the Test folder. That file is giving an example of each feature.
14+extra-source-files:
15+ c/ctext.h
16+ c/metrics.h
17+ c/conversion.h
18+ Test/AFMParser.hs
19+ Test/logo.jpg
20+ Test/Makefile
21+ Test/Penrose.hs
22+ Test/test.hs
23+ README.txt
24+ NEWS.txt
25+ TODO.txt
26+ changelog.md
27+
28+source-repository head
29+ type: git
30+ location: https://github.com/alpheccar/HPDF.git
31+
32+Test-Suite HPDF-Tests
33+ Type: exitcode-stdio-1.0
34+ Main-is: HPDF-tests.hs
35+ hs-source-dirs: Test
36+ Build-depends: base >= 4,
37+ HTF >= 0.10,
38+ HPDF
39+ Default-language: Haskell2010
40+
41+library
42+ build-depends:
43+ base >= 4 && < 5,
44+ containers,
45+ random >= 1.0,
46+ bytestring >= 0.9,
47+ array >= 0.1,
48+ zlib >= 0.5,
49+ binary >= 0.4,
50+ mtl,
51+ vector >=0.10,
52+ errors,
53+ base64-bytestring >= 0.1
54+ Default-language: Haskell2010
55+
56+ ghc-options: -Wall -fno-warn-tabs -funbox-strict-fields -O2
57+
58+ C-Sources:
59+ c/metrics.c
60+ c/conversion.c
61+ Include-Dirs: c
62+ Install-Includes:
63+ ctext.h
64+ conversion.h
65+ exposed-Modules:
66+ Graphics.PDF
67+ Graphics.PDF.Colors
68+ Graphics.PDF.Coordinates
69+ Graphics.PDF.Document
70+ Graphics.PDF.Shapes
71+ Graphics.PDF.Text
72+ Graphics.PDF.Navigation
73+ Graphics.PDF.Image
74+ Graphics.PDF.Action
75+ Graphics.PDF.Annotation
76+ Graphics.PDF.Pattern
77+ Graphics.PDF.Shading
78+ Graphics.PDF.Typesetting
79+ Graphics.PDF.Hyphenate
80+ Graphics.PDF.Documentation
81+ Other-Modules:
82+ Graphics.PDF.LowLevel.Types
83+ Graphics.PDF.Data.PDFTree
84+ Graphics.PDF.Data.Trie
85+ Graphics.PDF.Pages
86+ Graphics.PDF.Resources
87+ Graphics.PDF.Draw
88+ Graphics.PDF.Hyphenate.English
89+ Graphics.PDF.Hyphenate.LowLevel
90+ Graphics.PDF.LowLevel.Kern
91+ Graphics.PDF.Typesetting.Breaking
92+ Graphics.PDF.Typesetting.Horizontal
93+ Graphics.PDF.Typesetting.Vertical
94+ Graphics.PDF.Typesetting.Box
95+ Graphics.PDF.Typesetting.Layout
96+ Graphics.PDF.LowLevel.Serializer
97+ Graphics.PDF.Typesetting.StandardStyle
test/golden-test-cases/HPDF.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, array, base, base64-bytestring, binary, bytestring
2+, containers, errors, HTF, mtl, random, stdenv, vector, zlib
3+}:
4+mkDerivation {
5+ pname = "HPDF";
6+ version = "1.4.10";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ array base base64-bytestring binary bytestring containers errors
10+ mtl random vector zlib
11+ ];
12+ testHaskellDepends = [ base HTF ];
13+ homepage = "http://www.alpheccar.org";
14+ description = "Generation of PDF documents";
15+ license = stdenv.lib.licenses.bsd3;
16+}
test/golden-test-cases/HTF.cabalnew file+197
@@ -0,0 +1,197 @@
1+Name: HTF
2+Version: 0.13.2.2
3+License: LGPL
4+License-File: LICENSE
5+Copyright: (c) 2005-2015 Stefan Wehr
6+Author: Stefan Wehr <wehr@factisresearch.com>
7+Maintainer: Stefan Wehr <wehr@factisresearch.com>
8+Stability: Beta
9+Category: Testing
10+Synopsis: The Haskell Test Framework
11+Homepage: https://github.com/skogsbaer/HTF/
12+Bug-Reports: https://github.com/skogsbaer/HTF/issues
13+Description:
14+
15+ The Haskell Test Framework (/HTF/ for short) lets you define unit
16+ tests (<http://hunit.sourceforge.net>), QuickCheck properties
17+ (<http://www.cs.chalmers.se/~rjmh/QuickCheck/>), and black box
18+ tests in an easy and convenient way. HTF uses a custom
19+ preprocessor that collects test definitions automatically.
20+ Furthermore, the preprocessor allows HTF to report failing
21+ test cases with exact file name and line number information.
22+ Additionally, HTF tries to produce highly readable output
23+ for failing tests: for example, it colors and pretty prints expected and
24+ actual results and provides a diff between the two values.
25+
26+ .
27+
28+ The documentation of the "Test.Framework.Tutorial" module
29+ provides a tutorial for HTF. There is also a slightly out-dated
30+ blog article (<http://factisresearch.blogspot.de/2011/10/new-version-of-htf-with-diffs-colors.html>)
31+ demonstrating HTF's coloring, pretty-printing and diff functionality.
32+
33+Build-Type: Simple
34+Cabal-Version: >= 1.10
35+Extra-Source-Files:
36+ README.md
37+ TODO.org
38+ ChangeLog
39+ tests/bbt/should_fail/BBTArgs
40+ tests/bbt/should_fail/*.err
41+ tests/bbt/should_fail/*.out
42+ tests/bbt/should_fail/*.x
43+ tests/bbt/should_pass/*.in
44+ tests/bbt/should_pass/*.err
45+ tests/bbt/should_pass/*.out
46+ tests/bbt/should_pass/*.x
47+ tests/bbt/Skip/BBTArgs
48+ tests/bbt/Skip/some_unknown_but_skipped_file.x
49+ tests/bbt/Verbose/BBTArgs
50+ tests/bbt/Verbose/not_ok_because_stdout1.out
51+ tests/bbt/Verbose/not_ok_because_stdout1.x
52+ tests/Foo/test.h
53+ tests/Tutorial.hs
54+ tests/run-bbt.sh
55+ tests/compile-errors/Foo.h
56+ tests/compile-errors/run-tests.sh
57+ tests/compile-errors/Test1.hs
58+ tests/compile-errors/Test2.hs
59+ tests/compile-errors/Test3.hs
60+ tests/compile-errors/Test4.hs
61+ sample/LICENSE
62+ sample/Main.hs
63+ sample/MyPkg/A.hs
64+ sample/MyPkg/B.hs
65+ sample/README
66+ sample/sample-HTF.cabal
67+ sample/Setup.hs
68+ sample/TestMain.hs
69+ sample/bbt-dir/should-fail/BBTArgs
70+ sample/bbt-dir/should-fail/z.err
71+ sample/bbt-dir/should-fail/z.num
72+ sample/bbt-dir/should-pass/x.num
73+ sample/bbt-dir/should-pass/x.out
74+ scripts/local-htfpp
75+ scripts/run-sample
76+
77+Source-Repository head
78+ Type: git
79+ Location: http://github.com/skogsbaer/HTF.git
80+
81+Executable htfpp
82+ Main-Is: HTFPP.hs
83+ Build-Depends: HUnit,
84+ array,
85+ base == 4.*,
86+ cpphs >= 1.19,
87+ directory >= 1.0,
88+ mtl >= 1.1,
89+ old-time >= 1.0,
90+ random >= 1.0,
91+ text,
92+ HTF
93+ Other-Modules:
94+ Paths_HTF
95+ Test.Framework.Location
96+ Test.Framework.Preprocessor
97+ Default-language: Haskell2010
98+
99+Library
100+ Build-Depends: Diff >= 0.3,
101+ HUnit >= 1.2.5,
102+ QuickCheck >= 2.3,
103+ aeson < 0.10 || >= 0.11,
104+ array,
105+ base == 4.*,
106+ base64-bytestring,
107+ bytestring >= 0.9,
108+ containers >= 0.5,
109+ cpphs >= 1.19,
110+ haskell-src,
111+ directory >= 1.0,
112+ lifted-base >= 0.1,
113+ monad-control >= 0.3,
114+ mtl >= 1.1,
115+ old-time >= 1.0,
116+ pretty >= 1.0,
117+ process >= 1.0,
118+ random >= 1.0,
119+ regex-compat >= 0.92,
120+ text >= 0.11,
121+ time,
122+ vector,
123+ xmlgen >= 0.6
124+ if !os(windows)
125+ Build-Depends: unix >= 2.4
126+ Exposed-Modules:
127+ Test.Framework
128+ Test.Framework.HUnitWrapper
129+ Test.Framework.TestManager
130+ Test.Framework.TestInterface
131+ Test.Framework.TestTypes
132+ Test.Framework.TestReporter
133+ Test.Framework.History
134+ Test.Framework.CmdlineOptions
135+ Test.Framework.QuickCheckWrapper
136+ Test.Framework.BlackBoxTest
137+ Test.Framework.Location
138+ Test.Framework.Tutorial
139+ Test.Framework.Pretty
140+ Test.Framework.JsonOutput
141+ Test.Framework.XmlOutput
142+ Test.Framework.ThreadPool
143+ Test.Framework.AssertM
144+ Test.Framework.Colors
145+ Test.Framework.PrettyHaskell
146+ Test.Framework.Preprocessor
147+ Other-Modules:
148+ Test.Framework.Utils
149+ Test.Framework.Diff
150+ Test.Framework.Process
151+ Default-language: Haskell2010
152+ Ghc-Options: -W -fwarn-unused-imports -fwarn-unused-binds -fwarn-unused-matches -fwarn-unused-do-bind -fwarn-wrong-do-bind
153+
154+Test-Suite MiscTests
155+ Main-is: MiscTest.hs
156+ Type: exitcode-stdio-1.0
157+ Hs-Source-Dirs: tests
158+ Build-depends: HTF,
159+ HUnit,
160+ base == 4.*,
161+ mtl,
162+ random
163+ Default-language: Haskell2010
164+
165+Test-Suite TestHTF
166+ Main-is: TestHTF.hs
167+ Hs-Source-Dirs: tests, tests/real-bbt
168+ Type: exitcode-stdio-1.0
169+ Build-depends: HTF,
170+ aeson >= 0.6,
171+ aeson-pretty,
172+ base == 4.*,
173+ bytestring >= 0.9,
174+ directory >= 1.0,
175+ filepath >= 1.1,
176+ process >= 1.0,
177+ random,
178+ regex-compat >= 0.92,
179+ template-haskell,
180+ temporary >= 1.1,
181+ text >= 0.11,
182+ unordered-containers >= 0.2
183+ Default-language: Haskell2010
184+ Other-Modules:
185+ Foo.A, Foo.B, TestHTFHunitBackwardsCompatible, FailFast, MaxCurTime,
186+ MaxPrevTime, PrevFactor, SortByPrevTime, UniqTests1, UniqTests2, Quasi,
187+ Tutorial, Repeat
188+
189+Test-Suite TestThreadPools
190+ Main-is: ThreadPoolTest.hs
191+ Type: exitcode-stdio-1.0
192+ Hs-Source-Dirs: tests
193+ Build-depends: HTF,
194+ base == 4.*,
195+ mtl,
196+ random
197+ Default-language: Haskell2010
test/golden-test-cases/HTF.nix.goldennew file+31
@@ -0,0 +1,31 @@
1+{ mkDerivation, aeson, aeson-pretty, array, base, base64-bytestring
2+, bytestring, containers, cpphs, Diff, directory, filepath
3+, haskell-src, HUnit, lifted-base, monad-control, mtl, old-time
4+, pretty, process, QuickCheck, random, regex-compat, stdenv
5+, template-haskell, temporary, text, time, unix
6+, unordered-containers, vector, xmlgen
7+}:
8+mkDerivation {
9+ pname = "HTF";
10+ version = "0.13.2.2";
11+ sha256 = "deadbeef";
12+ isLibrary = true;
13+ isExecutable = true;
14+ libraryHaskellDepends = [
15+ aeson array base base64-bytestring bytestring containers cpphs Diff
16+ directory haskell-src HUnit lifted-base monad-control mtl old-time
17+ pretty process QuickCheck random regex-compat text time unix vector
18+ xmlgen
19+ ];
20+ executableHaskellDepends = [
21+ array base cpphs directory HUnit mtl old-time random text
22+ ];
23+ testHaskellDepends = [
24+ aeson aeson-pretty base bytestring directory filepath HUnit mtl
25+ process random regex-compat template-haskell temporary text
26+ unordered-containers
27+ ];
28+ homepage = "https://github.com/skogsbaer/HTF/";
29+ description = "The Haskell Test Framework";
30+ license = "LGPL";
31+}
test/golden-test-cases/HTTP.cabalnew file+182
@@ -0,0 +1,182 @@
1+Name: HTTP
2+Version: 4000.3.9
3+Cabal-Version: >= 1.8
4+Build-type: Simple
5+License: BSD3
6+License-file: LICENSE
7+Author: Warrick Gray <warrick.gray@hotmail.com>
8+Maintainer: Ganesh Sittampalam <ganesh@earth.li>
9+Homepage: https://github.com/haskell/HTTP
10+Category: Network
11+Synopsis: A library for client-side HTTP
12+Description:
13+
14+ The HTTP package supports client-side web programming in Haskell. It lets you set up
15+ HTTP connections, transmitting requests and processing the responses coming back, all
16+ from within the comforts of Haskell. It's dependent on the network package to operate,
17+ but other than that, the implementation is all written in Haskell.
18+ .
19+ A basic API for issuing single HTTP requests + receiving responses is provided. On top
20+ of that, a session-level abstraction is also on offer (the @BrowserAction@ monad);
21+ it taking care of handling the management of persistent connections, proxies,
22+ state (cookies) and authentication credentials required to handle multi-step
23+ interactions with a web server.
24+ .
25+ The representation of the bytes flowing across is extensible via the use of a type class,
26+ letting you pick the representation of requests and responses that best fits your use.
27+ Some pre-packaged, common instances are provided for you (@ByteString@, @String@).
28+ .
29+ Here's an example use:
30+ .
31+ >
32+ > do
33+ > rsp <- Network.HTTP.simpleHTTP (getRequest "http://www.haskell.org/")
34+ > -- fetch document and return it (as a 'String'.)
35+ > fmap (take 100) (getResponseBody rsp)
36+ >
37+ > do
38+ > (_, rsp)
39+ > <- Network.Browser.browse $ do
40+ > setAllowRedirects True -- handle HTTP redirects
41+ > request $ getRequest "http://www.haskell.org/"
42+ > return (take 100 (rspBody rsp))
43+ .
44+ __Note:__ This package does not support HTTPS connections.
45+ If you need HTTPS, take a look at the following packages:
46+ .
47+ * <http://hackage.haskell.org/package/http-streams http-streams>
48+ .
49+ * <http://hackage.haskell.org/package/http-client http-client> (in combination with
50+ <http://hackage.haskell.org/package/http-client-tls http-client-tls>)
51+ .
52+ * <http://hackage.haskell.org/package/req req>
53+ .
54+ * <http://hackage.haskell.org/package/wreq wreq>
55+ .
56+
57+Extra-Source-Files: CHANGES
58+
59+Source-Repository head
60+ type: git
61+ location: https://github.com/haskell/HTTP.git
62+
63+Flag mtl1
64+ description: Use the old mtl version 1.
65+ default: False
66+
67+Flag warn-as-error
68+ default: False
69+ description: Build with warnings-as-errors
70+ manual: True
71+
72+Flag network23
73+ description: Use version 2.3.x or below of the network package
74+ default: False
75+
76+Flag conduit10
77+ description: Use version 1.0.x or below of the conduit package (for the test suite)
78+ default: False
79+
80+Flag warp-tests
81+ description: Test against warp
82+ default: True
83+ manual: True
84+
85+flag network-uri
86+ description: Get Network.URI from the network-uri package
87+ default: True
88+
89+Library
90+ Exposed-modules:
91+ Network.BufferType,
92+ Network.Stream,
93+ Network.StreamDebugger,
94+ Network.StreamSocket,
95+ Network.TCP,
96+ Network.HTTP,
97+ Network.HTTP.Headers,
98+ Network.HTTP.Base,
99+ Network.HTTP.Stream,
100+ Network.HTTP.Auth,
101+ Network.HTTP.Cookie,
102+ Network.HTTP.Proxy,
103+ Network.HTTP.HandleStream,
104+ Network.Browser
105+ Other-modules:
106+ Network.HTTP.Base64,
107+ Network.HTTP.MD5Aux,
108+ Network.HTTP.Utils
109+ Paths_HTTP
110+ GHC-options: -fwarn-missing-signatures -Wall
111+
112+ -- note the test harness constraints should be kept in sync with these
113+ -- where dependencies are shared
114+ Build-depends: base >= 4.3.0.0 && < 4.11, parsec >= 2.0 && < 3.2
115+ Build-depends: array >= 0.3.0.2 && < 0.6, bytestring >= 0.9.1.5 && < 0.11
116+ Build-depends: time >= 1.1.2.3 && < 1.9
117+
118+ Extensions: FlexibleInstances
119+
120+ if flag(mtl1)
121+ Build-depends: mtl >= 1.1.1.0 && < 1.2
122+ CPP-Options: -DMTL1
123+ else
124+ Build-depends: mtl >= 2.0 && < 2.3
125+
126+ if flag(network-uri)
127+ Build-depends: network-uri == 2.6.*, network == 2.6.*
128+ else
129+ Build-depends: network >= 2.2.1.8 && < 2.6
130+
131+ if flag(warn-as-error)
132+ ghc-options: -Werror
133+
134+ if os(windows)
135+ Build-depends: Win32 >= 2.2.0.0 && < 2.6
136+
137+Test-Suite test
138+ type: exitcode-stdio-1.0
139+
140+ hs-source-dirs: test
141+ main-is: httpTests.hs
142+
143+ other-modules:
144+ Httpd
145+ UnitTests
146+
147+ -- note: version constraints for dependencies shared with the library
148+ -- should be the same
149+ build-depends: HTTP,
150+ HUnit >= 1.2.0.1 && < 1.7,
151+ httpd-shed >= 0.4 && < 0.5,
152+ mtl >= 1.1.1.0 && < 2.3,
153+ bytestring >= 0.9.1.5 && < 0.11,
154+ deepseq >= 1.3.0.0 && < 1.5,
155+ pureMD5 >= 0.2.4 && < 2.2,
156+ base >= 4.3.0.0 && < 4.11,
157+ split >= 0.1.3 && < 0.3,
158+ test-framework >= 0.2.0 && < 0.9,
159+ test-framework-hunit >= 0.3.0 && <0.4
160+
161+ if flag(network-uri)
162+ Build-depends: network-uri == 2.6.*, network == 2.6.*
163+ else
164+ Build-depends: network >= 2.2.1.5 && < 2.6
165+
166+ if flag(warp-tests)
167+ CPP-Options: -DWARP_TESTS
168+ build-depends:
169+ case-insensitive >= 0.4.0.1 && < 1.3,
170+ http-types >= 0.8.0 && < 1.0,
171+ wai >= 2.1.0 && < 3.3,
172+ warp >= 2.1.0 && < 3.3
173+
174+ if flag(conduit10)
175+ build-depends:
176+ conduit >= 1.0.8 && < 1.1
177+ else
178+ build-depends:
179+ conduit >= 1.1 && < 1.3,
180+ conduit-extra >= 1.1 && < 1.3
181+
182+
test/golden-test-cases/HTTP.nix.goldennew file+21
@@ -0,0 +1,21 @@
1+{ mkDerivation, array, base, bytestring, case-insensitive, conduit
2+, conduit-extra, deepseq, http-types, httpd-shed, HUnit, mtl
3+, network, network-uri, parsec, pureMD5, split, stdenv
4+, test-framework, test-framework-hunit, time, wai, warp
5+}:
6+mkDerivation {
7+ pname = "HTTP";
8+ version = "4000.3.9";
9+ sha256 = "deadbeef";
10+ libraryHaskellDepends = [
11+ array base bytestring mtl network network-uri parsec time
12+ ];
13+ testHaskellDepends = [
14+ base bytestring case-insensitive conduit conduit-extra deepseq
15+ http-types httpd-shed HUnit mtl network network-uri pureMD5 split
16+ test-framework test-framework-hunit wai warp
17+ ];
18+ homepage = "https://github.com/haskell/HTTP";
19+ description = "A library for client-side HTTP";
20+ license = stdenv.lib.licenses.bsd3;
21+}
test/golden-test-cases/Hclip.cabalnew file+55
@@ -0,0 +1,55 @@
1+
2+name: Hclip
3+
4+-- The package version. See the Haskell package versioning policy (PVP)
5+-- for standards guiding when and how versions should be incremented.
6+-- http://www.haskell.org/haskellwiki/Package_versioning_policy
7+-- PVP summary: +-+------- breaking API changes
8+-- | | +----- non-breaking API additions
9+-- | | | +--- code changes with no API change
10+version: 3.0.0.4
11+
12+synopsis: A small cross-platform library for reading and modifying the system clipboard.
13+
14+homepage: https://github.com/jetho/Hclip
15+
16+license: BSD3
17+
18+license-file: LICENSE
19+
20+author: Jens Thomas
21+
22+maintainer: jetho@gmx.de
23+
24+category: System
25+
26+description:
27+ A small cross-platform library for reading and modifying the system clipboard.
28+ .
29+ Hclip works on Windows, Mac OS X and Linux (but see the requirements below!).
30+ .
31+ Requirements:
32+ .
33+ * Windows: No additional requirements.
34+ .
35+ * Mac OS X: Requires the pbcopy and pbpaste commands, which ship with Mac OS X.
36+ .
37+ * Linux: Requires xclip or xsel installed.
38+
39+build-type: Simple
40+
41+cabal-version: >=1.10
42+
43+
44+library
45+ exposed-modules: System.Hclip
46+ other-extensions: CPP, DeriveDataTypeable, GADTs
47+ default-language: Haskell2010
48+ build-depends: base >= 3 && < 5, process, mtl, strict
49+ if os(windows)
50+ build-depends: Win32
51+
52+source-repository head
53+ type: git
54+ location: git://github.com/jetho/Hclip.git
55+
test/golden-test-cases/Hclip.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, mtl, process, stdenv, strict }:
2+mkDerivation {
3+ pname = "Hclip";
4+ version = "3.0.0.4";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base mtl process strict ];
7+ homepage = "https://github.com/jetho/Hclip";
8+ description = "A small cross-platform library for reading and modifying the system clipboard";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/MissingH.cabalnew file+131
@@ -0,0 +1,131 @@
1+Name: MissingH
2+Version: 1.4.0.1
3+License: BSD3
4+Maintainer: John Goerzen <jgoerzen@complete.org>
5+Author: John Goerzen
6+Copyright: Copyright (c) 2004-2016 John Goerzen
7+license-file: LICENSE
8+extra-source-files: LICENSE,
9+ announcements/0.10.0.txt,
10+ announcements/0.8.0.txt,
11+ announcements/0.9.0.txt,
12+ testsrc/gzfiles/empty.gz,
13+ testsrc/gzfiles/t1.gz,
14+ testsrc/gzfiles/t1bad.gz,
15+ testsrc/gzfiles/t2.gz,
16+ testsrc/gzfiles/zeros.gz,
17+ testsrc/mime.types.test,
18+ 3rd-party-licenses/BSD,
19+ 3rd-party-licenses/LGPL-2.1,
20+ Makefile,
21+ TODO,
22+ examples/simplegrep.hs,
23+ examples/test2.hs,
24+ examples/test3.hs,
25+ pending/Gopher.hs,
26+ pending/Maildir.disabled,
27+ pending/Tar.newhs,
28+ pending/Tar/HeaderParser.newhs,
29+ tolgpl,
30+ winbuild.bat,
31+ wintest.bat
32+homepage: http://software.complete.org/missingh
33+Category: Unclassified
34+synopsis: Large utility library
35+Description: MissingH is a library of all sorts of utility functions for
36+ Haskell programmers. It is written in pure Haskell and thus should
37+ be extremely portable and easy to use.
38+Stability: Beta
39+Build-Type: Simple
40+Cabal-Version: >=1.8
41+
42+Library
43+ Hs-Source-Dirs: src
44+ Exposed-Modules:
45+ Data.String.Utils, System.IO.Utils, System.IO.Binary, Data.List.Utils,
46+ System.Daemon,
47+ Text.ParserCombinators.Parsec.Utils,
48+ Network.Email.Mailbox,
49+ Control.Concurrent.Thread.Utils,
50+ Network.Email.Sendmail,
51+ Data.CSV,
52+ System.Cmd.Utils,
53+ Data.BinPacking,
54+ Data.Progress.Tracker,
55+ Data.Progress.Meter,
56+ Data.Quantity,
57+ Data.Map.Utils, System.Path, System.Path.NameManip,
58+ System.Path.WildMatch, System.Path.Glob,
59+ System.Time.Utils,
60+ Network.Utils,
61+ Network.SocketServer,
62+ Data.Either.Utils,
63+ Data.Maybe.Utils,
64+ Data.Tuple.Utils,
65+ Data.Bits.Utils,
66+ Data.Hash.CRC32.GZip,
67+ Data.Hash.MD5, Data.Hash.MD5.Zord64_HARD,
68+ Data.Compression.Inflate,
69+ System.FileArchive.GZip,
70+ System.IO.HVFS,
71+ System.IO.HVFS.Combinators,
72+ System.IO.HVFS.InstanceHelpers,
73+ System.IO.HVFS.Utils,
74+ System.IO.HVIO, System.IO.StatCompat, System.IO.WindowsCompat,
75+ System.IO.PlafCompat, System.Posix.Consts,
76+ System.Debian, System.Debian.ControlParser,
77+ Data.MIME.Types,
78+ System.Console.GetOpt.Utils
79+
80+ Extensions: ExistentialQuantification, OverlappingInstances,
81+ UndecidableInstances, CPP, Rank2Types,
82+ MultiParamTypeClasses, FlexibleInstances, FlexibleContexts,
83+ ScopedTypeVariables
84+
85+ Build-Depends: network, parsec, base,
86+ mtl, HUnit, regex-compat,
87+ filepath,
88+ hslogger,
89+ base >= 4.5, base < 5, directory, random, process, old-time,
90+ containers, old-locale, array, time
91+ If ! os(windows)
92+ Build-Depends: unix
93+
94+test-suite runtests
95+ type: exitcode-stdio-1.0
96+
97+ Build-Depends: network, parsec, base,
98+ mtl, HUnit, regex-compat,
99+ errorcall-eq-instance,
100+ filepath,
101+ hslogger,
102+ base >= 4.5, base < 5, directory, random, process, old-time,
103+ containers, old-locale, array, time
104+ If ! os(windows)
105+ Build-Depends: unix
106+ Build-Depends: testpack, QuickCheck, HUnit
107+
108+ Main-Is: runtests.hs
109+ HS-Source-Dirs: testsrc, ., src
110+ Other-Modules: Bitstest,
111+ CRC32GZIPtest,
112+ Eithertest,
113+ GZiptest,
114+ Globtest,
115+ HVFStest,
116+ HVIOtest,
117+ IOtest,
118+ Listtest,
119+ MIMETypestest,
120+ Maptest,
121+ Pathtest,
122+ ProgressTrackertest,
123+ Str.CSVtest,
124+ Strtest,
125+ Tests,
126+ Timetest,
127+ WildMatchtest
128+ Extensions: ExistentialQuantification, OverlappingInstances,
129+ UndecidableInstances, CPP, Rank2Types,
130+ MultiParamTypeClasses, FlexibleInstances, FlexibleContexts,
131+ ScopedTypeVariables
test/golden-test-cases/MissingH.nix.goldennew file+22
@@ -0,0 +1,22 @@
1+{ mkDerivation, array, base, containers, directory
2+, errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network
3+, old-locale, old-time, parsec, process, QuickCheck, random
4+, regex-compat, stdenv, testpack, time, unix
5+}:
6+mkDerivation {
7+ pname = "MissingH";
8+ version = "1.4.0.1";
9+ sha256 = "deadbeef";
10+ libraryHaskellDepends = [
11+ array base containers directory filepath hslogger HUnit mtl network
12+ old-locale old-time parsec process random regex-compat time unix
13+ ];
14+ testHaskellDepends = [
15+ array base containers directory errorcall-eq-instance filepath
16+ hslogger HUnit mtl network old-locale old-time parsec process
17+ QuickCheck random regex-compat testpack time unix
18+ ];
19+ homepage = "http://software.complete.org/missingh";
20+ description = "Large utility library";
21+ license = stdenv.lib.licenses.bsd3;
22+}
test/golden-test-cases/ObjectName.cabalnew file+34
@@ -0,0 +1,34 @@
1+name: ObjectName
2+version: 1.1.0.1
3+synopsis: Explicitly handled object names
4+description:
5+ This tiny package contains the class ObjectName, which corresponds to the
6+ general notion of explicitly handled identifiers for API objects, e.g. a
7+ texture object name in OpenGL or a buffer object name in OpenAL.
8+homepage: https://github.com/svenpanne/ObjectName
9+bug-reports: https://github.com/svenpanne/ObjectName/issues
10+copyright: Copyright (C) 2014-2015 Sven Panne
11+license: BSD3
12+license-file: LICENSE
13+author: Sven Panne
14+maintainer: Sven Panne <svenpanne@gmail.com>
15+category: Data
16+build-type: Simple
17+cabal-version: >=1.10
18+extra-source-files:
19+ README.md
20+
21+library
22+ exposed-modules:
23+ Data.ObjectName
24+ build-depends:
25+ base >= 4 && < 5,
26+ transformers >= 0.2 && < 0.6
27+ default-language: Haskell2010
28+ other-extensions: CPP
29+ hs-Source-Dirs: src
30+ ghc-options: -Wall
31+
32+source-repository head
33+ type: git
34+ location: https://github.com/haskell-opengl/ObjectName.git
test/golden-test-cases/ObjectName.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, stdenv, transformers }:
2+mkDerivation {
3+ pname = "ObjectName";
4+ version = "1.1.0.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base transformers ];
7+ homepage = "https://github.com/svenpanne/ObjectName";
8+ description = "Explicitly handled object names";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/Only.cabalnew file+32
@@ -0,0 +1,32 @@
1+name: Only
2+version: 0.1
3+synopsis: The 1-tuple type or single-value "collection"
4+license: BSD3
5+license-file: LICENSE
6+author: Herbert Valerio Riedel
7+maintainer: hvr@gnu.org
8+bug-reports: https://github.com/hvr/Only/issues
9+category: Data
10+build-type: Simple
11+cabal-version: >=1.10
12+description: This package provides the canonical anonymous 1-tuple type missing from Haskell for attaching typeclass instances.
13+
14+Source-Repository head
15+ Type: git
16+ Location: https://github.com/hvr/Only.git
17+
18+library
19+ hs-source-dirs: src
20+ exposed-modules: Data.Tuple.Only
21+
22+ default-language: Haskell2010
23+ other-extensions: DeriveGeneric
24+ , DeriveDataTypeable
25+ , DeriveFunctor
26+ , Safe
27+
28+ build-depends: base >= 4.5 && <5
29+ , deepseq >= 1.1 && <1.5
30+
31+ if impl(ghc == 7.4.*)
32+ build-depends: ghc-prim
test/golden-test-cases/Only.nix.goldennew file+9
@@ -0,0 +1,9 @@
1+{ mkDerivation, base, deepseq, stdenv }:
2+mkDerivation {
3+ pname = "Only";
4+ version = "0.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base deepseq ];
7+ description = "The 1-tuple type or single-value \"collection\"";
8+ license = stdenv.lib.licenses.bsd3;
9+}
test/golden-test-cases/QuasiText.cabalnew file+20
@@ -0,0 +1,20 @@
1+-- Initial QuasiText.cabal generated by cabal init. For further
2+-- documentation, see http://haskell.org/cabal/users-guide/
3+
4+name: QuasiText
5+version: 0.1.2.6
6+synopsis: A QuasiQuoter for Text.
7+description: A QuasiQuoter for interpolating values into Text strings.
8+homepage: https://github.com/mikeplus64/QuasiText
9+license: BSD3
10+license-file: LICENSE
11+author: Mike Ledger
12+maintainer: eleventynine@gmail.com
13+category: Text
14+build-type: Simple
15+cabal-version: >=1.8
16+
17+library
18+ exposed-modules: Text.QuasiText
19+ build-depends: base >= 4.5.0.0 && < 5.0.0.0, template-haskell, haskell-src-meta, attoparsec, text, th-lift-instances
20+ hs-source-dirs: src
test/golden-test-cases/QuasiText.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, attoparsec, base, haskell-src-meta, stdenv
2+, template-haskell, text, th-lift-instances
3+}:
4+mkDerivation {
5+ pname = "QuasiText";
6+ version = "0.1.2.6";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ attoparsec base haskell-src-meta template-haskell text
10+ th-lift-instances
11+ ];
12+ homepage = "https://github.com/mikeplus64/QuasiText";
13+ description = "A QuasiQuoter for Text";
14+ license = stdenv.lib.licenses.bsd3;
15+}
test/golden-test-cases/QuickCheck.cabalnew file+171
@@ -0,0 +1,171 @@
1+Name: QuickCheck
2+Version: 2.10.1
3+Cabal-Version: >= 1.8
4+Build-type: Simple
5+License: BSD3
6+License-file: LICENSE
7+Copyright: 2000-2017 Koen Claessen, 2006-2008 Björn Bringert, 2009-2017 Nick Smallbone
8+Author: Koen Claessen <koen@chalmers.se>
9+Maintainer: Nick Smallbone <nick@smallbone.se>; see also QuickCheck mailing list (https://groups.google.com/forum/#!forum/haskell-quickcheck)
10+Bug-reports: https://github.com/nick8325/quickcheck/issues
11+Tested-with: GHC == 7.0.4, GHC == 7.2.2, GHC >= 7.4
12+Homepage: https://github.com/nick8325/quickcheck
13+Category: Testing
14+Synopsis: Automatic testing of Haskell programs
15+Description:
16+ QuickCheck is a library for random testing of program properties.
17+ .
18+ The programmer provides a specification of the program, in the form of
19+ properties which functions should satisfy, and QuickCheck then tests that the
20+ properties hold in a large number of randomly generated cases.
21+ .
22+ Specifications are expressed in Haskell, using combinators defined in the
23+ QuickCheck library. QuickCheck provides combinators to define properties,
24+ observe the distribution of test data, and define test data generators.
25+ .
26+ The <http://www.cse.chalmers.se/~rjmh/QuickCheck/manual.html official QuickCheck manual>
27+ explains how to write generators and properties;
28+ it is out-of-date in some details but still full of useful advice.
29+ .
30+ A user of QuickCheck has written an unofficial, but detailed, tutorial which
31+ you can find at
32+ <https://begriffs.com/posts/2017-01-14-design-use-quickcheck.html>.
33+
34+extra-source-files:
35+ README
36+ changelog
37+ examples/Heap.hs
38+ examples/Heap_Program.hs
39+ examples/Heap_ProgramAlgebraic.hs
40+ examples/Lambda.hs
41+ examples/Merge.hs
42+ examples/Set.hs
43+ examples/Simple.hs
44+
45+source-repository head
46+ type: git
47+ location: https://github.com/nick8325/quickcheck
48+
49+source-repository this
50+ type: git
51+ location: https://github.com/nick8325/quickcheck
52+ tag: 2.10.1
53+
54+flag templateHaskell
55+ Description: Build Test.QuickCheck.All, which uses Template Haskell.
56+ Default: True
57+
58+library
59+ Build-depends: base >=4.3 && <5, random, containers
60+
61+ -- Modules that are always built.
62+ Exposed-Modules:
63+ Test.QuickCheck,
64+ Test.QuickCheck.Arbitrary,
65+ Test.QuickCheck.Gen,
66+ Test.QuickCheck.Gen.Unsafe,
67+ Test.QuickCheck.Monadic,
68+ Test.QuickCheck.Modifiers,
69+ Test.QuickCheck.Property,
70+ Test.QuickCheck.Test,
71+ Test.QuickCheck.Text,
72+ Test.QuickCheck.Poly,
73+ Test.QuickCheck.State,
74+ Test.QuickCheck.Random,
75+ Test.QuickCheck.Exception
76+
77+ -- GHC-specific modules.
78+ if impl(ghc)
79+ Exposed-Modules: Test.QuickCheck.Function
80+ Build-depends: transformers >= 0.3, deepseq
81+ else
82+ cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ
83+
84+ if impl(ghc) && flag(templateHaskell)
85+ Build-depends: template-haskell >= 2.4
86+ Other-Extensions: TemplateHaskell
87+ Exposed-Modules: Test.QuickCheck.All
88+ else
89+ cpp-options: -DNO_TEMPLATE_HASKELL
90+
91+ if !impl(ghc >= 7.2)
92+ cpp-options: -DNO_FOREIGN_C_USECONDS
93+
94+ -- The new generics appeared in GHC 7.2...
95+ if impl(ghc < 7.2)
96+ cpp-options: -DNO_GENERICS
97+ -- ...but in 7.2-7.4 it lives in the ghc-prim package.
98+ if impl(ghc >= 7.2) && impl(ghc < 7.6)
99+ Build-depends: ghc-prim
100+
101+ -- Safe Haskell appeared in GHC 7.2, but GHC.Generics isn't safe until 7.4.
102+ if impl (ghc < 7.4)
103+ cpp-options: -DNO_SAFE_HASKELL
104+
105+ -- Use tf-random on newer GHCs.
106+ if impl(ghc)
107+ Build-depends: tf-random >= 0.4
108+ else
109+ cpp-options: -DNO_TF_RANDOM
110+
111+ if !impl(ghc >= 7.6)
112+ cpp-options: -DNO_POLYKINDS
113+
114+ if !impl(ghc >= 8.0)
115+ cpp-options: -DNO_MONADFAIL
116+
117+ -- Switch off most optional features on non-GHC systems.
118+ if !impl(ghc)
119+ -- If your Haskell compiler can cope without some of these, please
120+ -- send a message to the QuickCheck mailing list!
121+ cpp-options: -DNO_TIMEOUT -DNO_NEWTYPE_DERIVING -DNO_GENERICS -DNO_TEMPLATE_HASKELL -DNO_SAFE_HASKELL
122+ if !impl(hugs) && !impl(uhc)
123+ cpp-options: -DNO_ST_MONAD -DNO_MULTI_PARAM_TYPE_CLASSES
124+
125+ -- LANGUAGE pragmas don't have any effect in Hugs.
126+ if impl(hugs)
127+ Extensions: CPP
128+
129+ if impl(uhc)
130+ -- Cabal under UHC needs pointing out all the dependencies of the
131+ -- random package.
132+ Build-depends: old-time, old-locale
133+ -- Plus some bits of the standard library are missing.
134+ cpp-options: -DNO_FIXED -DNO_EXCEPTIONS
135+
136+Test-Suite test-quickcheck
137+ type: exitcode-stdio-1.0
138+ hs-source-dirs:
139+ examples
140+ main-is: Heap.hs
141+ build-depends: base, QuickCheck
142+ if !flag(templateHaskell)
143+ Buildable: False
144+
145+Test-Suite test-quickcheck-gcoarbitrary
146+ type: exitcode-stdio-1.0
147+ hs-source-dirs: tests
148+ main-is: GCoArbitraryExample.hs
149+ build-depends: base, QuickCheck
150+ if !impl(ghc >= 7.2)
151+ buildable: False
152+ if impl(ghc >= 7.2) && impl(ghc < 7.6)
153+ build-depends: ghc-prim
154+
155+Test-Suite test-quickcheck-generators
156+ type: exitcode-stdio-1.0
157+ hs-source-dirs: tests
158+ main-is: Generators.hs
159+ build-depends: base, QuickCheck
160+ if !flag(templateHaskell)
161+ Buildable: False
162+
163+Test-Suite test-quickcheck-gshrink
164+ type: exitcode-stdio-1.0
165+ hs-source-dirs: tests
166+ main-is: GShrinkExample.hs
167+ build-depends: base, QuickCheck
168+ if !impl(ghc >= 7.2)
169+ buildable: False
170+ if impl(ghc >= 7.2) && impl(ghc < 7.6)
171+ build-depends: ghc-prim
test/golden-test-cases/QuickCheck.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, base, containers, deepseq, random, stdenv
2+, template-haskell, tf-random, transformers
3+}:
4+mkDerivation {
5+ pname = "QuickCheck";
6+ version = "2.10.1";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base containers deepseq random template-haskell tf-random
10+ transformers
11+ ];
12+ testHaskellDepends = [ base ];
13+ homepage = "https://github.com/nick8325/quickcheck";
14+ description = "Automatic testing of Haskell programs";
15+ license = stdenv.lib.licenses.bsd3;
16+}
test/golden-test-cases/ReadArgs.cabalnew file+110
@@ -0,0 +1,110 @@
1+Name: ReadArgs
2+Version: 1.2.3
3+Synopsis: Simple command line argument parsing
4+
5+Description:
6+
7+ ReadArgs provides the @readArgs@ IO action, which lets you tell the compiler
8+ to parse the command line arguments to fit the type signature you give.
9+ .
10+ For example @(a :: Int, b :: String, c :: Float) <- readArgs@ would
11+ parse the first runtime argument as an @Int@, the second as a @String@ (no
12+ quotes required) and the third as a @Float@.
13+ .
14+ If the runtime arguments are incompatible with the type signature,
15+ then a simple usage statement is given of the types needed.
16+ .
17+ Continuing the previous example, if it was used in a
18+ program named @Example@, the error message for the above
19+ action would be:
20+ .
21+ @
22+ usage: Example Int String Float
23+ @
24+ .
25+ Any type that has both @Typeable@ and @Read@ instances
26+ can be used. @Char@, @String@, and @Text@ are handled specially so that
27+ command line arguments for both do not require quotes (as their
28+ @Read@ instances do). A special instance is provided for @FilePath@ so
29+ that no constructor or quotes are required.
30+ .
31+ @readArgs@ also supports optional arguments and variadic arguments.
32+ Optional arguments are specified using @Maybe@, and variadic arguments
33+ using a list. @(a :: Int, b :: Maybe String, c :: [Float]) <- readArgs@
34+ would successfully parse any of the following sets of command line arguments:
35+ .
36+ @
37+ Example 1
38+ Example 1 2 3 4
39+ Example 1 foo
40+ Example 1 foo 2 3 4
41+ @
42+ .
43+ But not
44+ .
45+ @
46+ Example
47+ Example foo
48+ Example 1.0
49+ @
50+ .
51+ Usage statements for optional and variadic arguments use command-line
52+ parlance:
53+ .
54+ @
55+ usage: Example Int [String] [Float..]
56+ @
57+ .
58+ Note that both optional and variadic parsers are greedy by default
59+ (so @Example 1 2 3 4@ was parsed as @(1, "2", [3.0,4.0])@. They
60+ may both be made non-greedy through use of the @NonGreedy@ constructor:
61+ .
62+ @
63+ ( a :: Int
64+ , NonGreedy b :: NonGreedy Maybe String
65+ , NonGreedy c :: NonGreedy [] Float
66+ ) <- readArgs
67+ @
68+
69+Homepage: http://github.com/rampion/ReadArgs
70+License: BSD3
71+License-file: LICENSE
72+Author: Noah Luck Easterly
73+Maintainer: noah.easterly@gmail.com
74+Category: Command Line
75+Build-type: Simple
76+Cabal-version: >=1.8
77+
78+Source-repository head
79+ type: git
80+ location: git://github.com/rampion/ReadArgs.git
81+
82+Library
83+ Exposed-modules: ReadArgs
84+
85+ Build-depends:
86+ base >= 4.3.1.0 && < 5,
87+ system-filepath >= 0.4.7 && < 0.5,
88+ text >= 0.11.1.13 && < 12
89+
90+Test-Suite ReadArgsSpec
91+ type:
92+ exitcode-stdio-1.0
93+
94+ Main-Is:
95+ ReadArgsSpec.hs
96+
97+ Build-depends:
98+ hspec >= 1.3 && < 3,
99+ base >= 4.3.1.0 && < 5,
100+ system-filepath >= 0.4.7 && < 0.5,
101+ text >= 0.11.1.13 && < 12
102+
103+Executable ReadArgsEx
104+ Main-Is:
105+ ReadArgsEx.hs
106+
107+ Build-depends:
108+ base >= 4.3.1.0 && < 5,
109+ system-filepath >= 0.4.7 && < 0.5,
110+ text >= 0.11.1.13 && < 12
test/golden-test-cases/ReadArgs.nix.goldennew file+14
@@ -0,0 +1,14 @@
1+{ mkDerivation, base, hspec, stdenv, system-filepath, text }:
2+mkDerivation {
3+ pname = "ReadArgs";
4+ version = "1.2.3";
5+ sha256 = "deadbeef";
6+ isLibrary = true;
7+ isExecutable = true;
8+ libraryHaskellDepends = [ base system-filepath text ];
9+ executableHaskellDepends = [ base system-filepath text ];
10+ testHaskellDepends = [ base hspec system-filepath text ];
11+ homepage = "http://github.com/rampion/ReadArgs";
12+ description = "Simple command line argument parsing";
13+ license = stdenv.lib.licenses.bsd3;
14+}
test/golden-test-cases/SHA.cabalnew file+130
@@ -0,0 +1,130 @@
1+name: SHA
2+category: Cryptography, Codec
3+version: 1.6.4.2
4+license: BSD3
5+license-file: LICENSE
6+author: Adam Wick <awick@galois.com>, Brian Lewis <brian@lorf.org>
7+maintainer: Adam Wick <awick@galois.com>,
8+ Raphael Javaux <raphaeljavaux@gmail.com>
9+stability: stable
10+build-type: Simple
11+cabal-version: >= 1.8
12+tested-with: GHC == 7.6.1
13+synopsis: Implementations of the SHA suite of message digest functions
14+description: This library implements the SHA suite of message digest functions,
15+ according to NIST FIPS 180-2 (with the SHA-224 addendum), as well
16+ as the SHA-based HMAC routines. The functions have been tested
17+ against most of the NIST and RFC test vectors for the various
18+ functions. While some attention has been paid to performance,
19+ these do not presently reach the speed of well-tuned libraries,
20+ like OpenSSL.
21+
22+Flag exe
23+ Description: Build a sha executables similar to 'md5sum'.
24+ Default: False
25+
26+Library
27+ hs-source-dirs: src
28+ build-depends: array > 0 && < 10000,
29+ base >= 4 && < 6,
30+ binary >= 0.7 && < 10000,
31+ bytestring > 0.8 && < 10000
32+ exposed-modules: Data.Digest.Pure.SHA
33+ GHC-Options: -Wall -fno-ignore-asserts -fno-warn-orphans
34+ -funbox-strict-fields -fwarn-tabs
35+ extensions: BangPatterns
36+ if impl(ghc >= 6.12) && impl(ghc < 7.7)
37+ Ghc-Options: -fregs-graph
38+
39+test-suite test-sha
40+ type: exitcode-stdio-1.0
41+ hs-source-dirs: src
42+ main-is: Test.hs
43+ ghc-options: -Wall -fhpc
44+ build-depends: array > 0 && < 10000,
45+ base > 4.3 && < 7,
46+ binary >= 0.7 && < 10000,
47+ bytestring > 0.8 && < 10000,
48+ QuickCheck >= 2.5 && < 3,
49+ test-framework >= 0.8.0.3 && < 10000,
50+ test-framework-quickcheck2 >= 0.3.0.2 && < 10000
51+ extensions: BangPatterns, MultiParamTypeClasses, DeriveDataTypeable
52+ GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
53+ -funbox-strict-fields -fwarn-tabs
54+ cpp-options: -DSHA_TEST
55+ if impl(ghc >= 6.12)
56+ Ghc-Options: -fregs-graph
57+
58+Executable sha1
59+ if !flag(exe)
60+ buildable: False
61+ hs-source-dirs: src-bin
62+ build-depends: base >= 4 && < 6,
63+ bytestring > 0.8 && < 10000,
64+ directory > 0.0 && < 10000,
65+ SHA > 1.6 && < 10000
66+ Main-Is: Main.hs
67+ extensions: CPP
68+ GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
69+ -funbox-strict-fields -fwarn-tabs
70+ cpp-options: -DALGORITHM=sha1
71+
72+Executable sha224
73+ if !flag(exe)
74+ buildable: False
75+ hs-source-dirs: src-bin
76+ build-depends: base >= 4 && < 6,
77+ bytestring > 0.8 && < 10000,
78+ directory > 0.0 && < 10000,
79+ SHA > 1.6 && < 10000
80+ Main-Is: Main.hs
81+ extensions: CPP
82+ GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
83+ -funbox-strict-fields -fwarn-tabs
84+ cpp-options: -DALGORITHM=sha224
85+
86+Executable sha256
87+ if !flag(exe)
88+ buildable: False
89+ hs-source-dirs: src-bin
90+ build-depends: base >= 4 && < 6,
91+ bytestring > 0.8 && < 10000,
92+ directory > 0.0 && < 10000,
93+ SHA > 1.6 && < 10000
94+ Main-Is: Main.hs
95+ extensions: CPP
96+ GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
97+ -funbox-strict-fields -fwarn-tabs
98+ cpp-options: -DALGORITHM=sha256
99+
100+Executable sha384
101+ if !flag(exe)
102+ buildable: False
103+ hs-source-dirs: src-bin
104+ build-depends: base >= 4 && < 6,
105+ bytestring > 0.8 && < 10000,
106+ directory > 0.0 && < 10000,
107+ SHA > 1.6 && < 10000
108+ Main-Is: Main.hs
109+ extensions: CPP
110+ GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
111+ -funbox-strict-fields -fwarn-tabs
112+ cpp-options: -DALGORITHM=sha384
113+
114+Executable sha512
115+ if !flag(exe)
116+ buildable: False
117+ hs-source-dirs: src-bin
118+ build-depends: base >= 4 && < 6,
119+ bytestring > 0.8 && < 10000,
120+ directory > 0.0 && < 10000,
121+ SHA > 1.6 && < 10000
122+ Main-Is: Main.hs
123+ extensions: CPP
124+ GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
125+ -funbox-strict-fields -fwarn-tabs
126+ cpp-options: -DALGORITHM=sha512
127+
128+source-repository head
129+ type: git
130+ location: git://github.com/GaloisInc/SHA.git
test/golden-test-cases/SHA.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, array, base, binary, bytestring, QuickCheck, stdenv
2+, test-framework, test-framework-quickcheck2
3+}:
4+mkDerivation {
5+ pname = "SHA";
6+ version = "1.6.4.2";
7+ sha256 = "deadbeef";
8+ isLibrary = true;
9+ isExecutable = true;
10+ libraryHaskellDepends = [ array base binary bytestring ];
11+ testHaskellDepends = [
12+ array base binary bytestring QuickCheck test-framework
13+ test-framework-quickcheck2
14+ ];
15+ description = "Implementations of the SHA suite of message digest functions";
16+ license = stdenv.lib.licenses.bsd3;
17+}
test/golden-test-cases/Strafunski-StrategyLib.cabalnew file+59
@@ -0,0 +1,59 @@
1+name: Strafunski-StrategyLib
2+version: 5.0.0.10
3+synopsis: Library for strategic programming
4+description: This is a version of the StrategyLib library originally shipped with Strafunski, Cabalized and updated to newer versions of GHC. A description of much of StrategyLib can be found in the paper "Design Patterns for Functional Strategic Programming."
5+license: BSD3
6+license-file: LICENSE
7+author: Ralf Laemmel, Joost Visser
8+maintainer: darmanithird@gmail.com,alan.zimm@gmail.com
9+category: Generics
10+build-type: Simple
11+cabal-version: >=1.8
12+
13+source-repository head
14+ type: git
15+ location: https://github.com/jkoppel/Strafunski-StrategyLib
16+
17+
18+library
19+
20+ Extensions:
21+ OverlappingInstances,
22+ FlexibleInstances,
23+ FlexibleContexts,
24+ UndecidableInstances,
25+ MultiParamTypeClasses,
26+ FunctionalDependencies,
27+ Rank2Types
28+
29+ exposed-modules:
30+ Control.Monad.Run,
31+ Data.Generics.Strafunski.StrategyLib.ChaseImports,
32+ Data.Generics.Strafunski.StrategyLib.ContainerTheme,
33+ Data.Generics.Strafunski.StrategyLib.EffectTheme,
34+ Data.Generics.Strafunski.StrategyLib.FixpointTheme,
35+ Data.Generics.Strafunski.StrategyLib.FlowTheme,
36+ Data.Generics.Strafunski.StrategyLib.KeyholeTheme,
37+ Data.Generics.Strafunski.StrategyLib.MetricsTheme,
38+ Data.Generics.Strafunski.StrategyLib.MonadicFunctions,
39+ Data.Generics.Strafunski.StrategyLib.MoreMonoids,
40+ Data.Generics.Strafunski.StrategyLib.NameTheme,
41+ Data.Generics.Strafunski.StrategyLib.OverloadingTheme,
42+ Data.Generics.Strafunski.StrategyLib.PathTheme,
43+ Data.Generics.Strafunski.StrategyLib.RefactoringTheme,
44+ Data.Generics.Strafunski.StrategyLib.StrategyInfix,
45+ Data.Generics.Strafunski.StrategyLib.StrategyLib,
46+ Data.Generics.Strafunski.StrategyLib.StrategyPrelude,
47+ Data.Generics.Strafunski.StrategyLib.TraversalTheme,
48+ Data.Generics.Strafunski.StrategyLib.Models.Deriving.StrategyPrimitives,
49+ Data.Generics.Strafunski.StrategyLib.Models.Deriving.TermRep
50+
51+-- other-modules:
52+
53+ build-depends:
54+ base > 4.4 && < 4.10,
55+ mtl > 2.2,
56+ syb > 0.3 && < 4.1,
57+ directory > 1.1 && < 1.4,
58+ transformers >= 0.2
59+
test/golden-test-cases/Strafunski-StrategyLib.nix.goldennew file+9
@@ -0,0 +1,9 @@
1+{ mkDerivation, base, directory, mtl, stdenv, syb, transformers }:
2+mkDerivation {
3+ pname = "Strafunski-StrategyLib";
4+ version = "5.0.0.10";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base directory mtl syb transformers ];
7+ description = "Library for strategic programming";
8+ license = stdenv.lib.licenses.bsd3;
9+}
test/golden-test-cases/accelerate-fftw.cabalnew file+41
@@ -0,0 +1,41 @@
1+Name: accelerate-fftw
2+Version: 1.0
3+License: BSD3
4+License-File: LICENSE
5+Author: Henning Thielemann <haskell@henning-thielemann.de>
6+Maintainer: Henning Thielemann <haskell@henning-thielemann.de>
7+Homepage: http://hub.darcs.net/thielema/accelerate-fftw/
8+Category: Math
9+Synopsis: Accelerate frontend to the FFTW library (Fourier transform)
10+Description:
11+ An interface to the Fastest Fourier Transform in the West (FFTW)
12+ for the @accelerate@ framework.
13+Tested-With: GHC==7.8.3
14+Cabal-Version: >=1.14
15+Build-Type: Simple
16+
17+Source-Repository this
18+ Tag: 1.0
19+ Type: darcs
20+ Location: http://hub.darcs.net/thielema/accelerate-fftw/
21+
22+Source-Repository head
23+ Type: darcs
24+ Location: http://hub.darcs.net/thielema/accelerate-fftw/
25+
26+Library
27+ Build-Depends:
28+ fft >=0.1.7 && <0.2,
29+ carray >=0.1.5 && <0.2,
30+ storable-complex >=0.2.1 && <0.3,
31+ accelerate-io >=1.0 && <1.1,
32+ accelerate >=1.0 && <1.2,
33+ base >=4.5 && <4.11
34+
35+ GHC-Options: -Wall -fwarn-missing-import-lists
36+ Hs-Source-Dirs: src
37+ Default-Language: Haskell98
38+ Exposed-Modules:
39+ Data.Array.Accelerate.FFTW.Manifest
40+ Other-Modules:
41+ Data.Array.Accelerate.CArray.Conversion
test/golden-test-cases/accelerate-fftw.nix.goldennew file+14
@@ -0,0 +1,14 @@
1+{ mkDerivation, accelerate, accelerate-io, base, carray, fft
2+, stdenv, storable-complex
3+}:
4+mkDerivation {
5+ pname = "accelerate-fftw";
6+ version = "1.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ accelerate accelerate-io base carray fft storable-complex
10+ ];
11+ homepage = "http://hub.darcs.net/thielema/accelerate-fftw/";
12+ description = "Accelerate frontend to the FFTW library (Fourier transform)";
13+ license = stdenv.lib.licenses.bsd3;
14+}
test/golden-test-cases/accelerate.cabalnew file+412
@@ -0,0 +1,412 @@
1+Name: accelerate
2+Version: 1.1.1.0
3+Cabal-version: >= 1.8
4+Tested-with: GHC >= 7.8
5+Build-type: Simple
6+
7+Synopsis: An embedded language for accelerated array processing
8+
9+Description:
10+ @Data.Array.Accelerate@ defines an embedded array language for computations
11+ for high-performance computing in Haskell. Computations on multi-dimensional,
12+ regular arrays are expressed in the form of parameterised collective
13+ operations, such as maps, reductions, and permutations. These computations may
14+ then be online compiled and executed on a range of architectures.
15+ .
16+ [/A simple example/]
17+ .
18+ As a simple example, consider the computation of a dot product of two vectors
19+ of floating point numbers:
20+ .
21+ > dotp :: Acc (Vector Float) -> Acc (Vector Float) -> Acc (Scalar Float)
22+ > dotp xs ys = fold (+) 0 (zipWith (*) xs ys)
23+ .
24+ Except for the type, this code is almost the same as the corresponding Haskell
25+ code on lists of floats. The types indicate that the computation may be
26+ online-compiled for performance - for example, using
27+ @Data.Array.Accelerate.LLVM.PTX@ it may be on-the-fly off-loaded to the GPU.
28+ .
29+ [/Additional components/]
30+ .
31+ The following supported add-ons are available as separate packages. Install
32+ them from Hackage with @cabal install \<package\>@
33+ .
34+ * @accelerate-llvm-native@: Backend supporting parallel execution on
35+ multicore CPUs.
36+ .
37+ * @accelerate-llvm-ptx@: Backend supporting parallel execution on
38+ CUDA-capable NVIDIA GPUs. Requires a GPU with compute capability 2.0 or
39+ greater. See the following table for supported GPUs:
40+ <http://en.wikipedia.org/wiki/CUDA#Supported_GPUs>
41+ .
42+ * @accelerate-examples@: Computational kernels and applications showcasing
43+ the use of Accelerate as well as a regression test suite, supporting
44+ function and performance testing.
45+ .
46+ * @accelerate-io@: Fast conversions between Accelerate arrays and other
47+ array formats (including vector and repa).
48+ .
49+ * @accelerate-fft@: Discrete Fourier transforms, with FFI bindings to
50+ optimised implementations.
51+ .
52+ * @accelerate-bignum@: Fixed-width large integer arithmetic.
53+ .
54+ * @colour-accelerate@: Colour representations in Accelerate (RGB, sRGB, HSV,
55+ and HSL).
56+ .
57+ * @gloss-accelerate@: Generate gloss pictures from Accelerate.
58+ .
59+ * @gloss-raster-accelerate@: Parallel rendering of raster images and
60+ animations.
61+ .
62+ * @lens-accelerate@: Lens operators for Accelerate types.
63+ .
64+ * @linear-accelerate@: Linear vector spaces in Accelerate.
65+ .
66+ * @mwc-random-accelerate@: Generate Accelerate arrays filled with high
67+ quality pseudorandom numbers.
68+ .
69+ [/Examples and documentation/]
70+ .
71+ Haddock documentation is included in the package
72+ .
73+ The @accelerate-examples@ package demonstrates a range of computational
74+ kernels and several complete applications, including:
75+ .
76+ * An implementation of the Canny edge detection algorithm
77+ .
78+ * An interactive Mandelbrot set generator
79+ .
80+ * A particle-based simulation of stable fluid flows
81+ .
82+ * An /n/-body simulation of gravitational attraction between solid particles
83+ .
84+ * An implementation of the PageRank algorithm
85+ .
86+ * A simple interactive ray tracer
87+ .
88+ * A particle based simulation of stable fluid flows
89+ .
90+ * A cellular automata simulation
91+ .
92+ * A \"password recovery\" tool, for dictionary lookup of MD5 hashes
93+ .
94+ @lulesh-accelerate@ is an implementation of the Livermore Unstructured
95+ Lagrangian Explicit Shock Hydrodynamics (LULESH) mini-app. LULESH represents a
96+ typical hydrodynamics code such as ALE3D, but is highly simplified and
97+ hard-coded to solve the Sedov blast problem on an unstructured hexahedron
98+ mesh.
99+ .
100+ [/Mailing list and contacts/]
101+ .
102+ * Mailing list: <accelerate-haskell@googlegroups.com> (discussion of both
103+ use and development welcome).
104+ .
105+ * Sign up for the mailing list here:
106+ <http://groups.google.com/group/accelerate-haskell>
107+ .
108+ * Bug reports and issue tracking:
109+ <https://github.com/AccelerateHS/accelerate/issues>
110+ .
111+
112+License: BSD3
113+License-file: LICENSE
114+Author: Manuel M T Chakravarty,
115+ Robert Clifton-Everest,
116+ Gabriele Keller,
117+ Ben Lever,
118+ Trevor L. McDonell,
119+ Ryan Newtown,
120+ Sean Seefried
121+Maintainer: Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
122+Homepage: https://github.com/AccelerateHS/accelerate/
123+Bug-reports: https://github.com/AccelerateHS/accelerate/issues
124+
125+Category: Compilers/Interpreters, Concurrency, Data, Parallelism
126+Stability: Experimental
127+
128+Extra-source-files:
129+ README.md
130+ CHANGELOG.md
131+
132+Flag debug
133+ Default: False
134+ Description:
135+ Enable debug tracing messages. The following options are read from the
136+ environment variable @ACCELERATE_FLAGS@, and via the command-line as:
137+ .
138+ > ./program +ACC ... -ACC
139+ .
140+ Note that a backend may not implement (or be applicable to) all options.
141+ .
142+ The following flags control phases of the compiler. The are enabled with
143+ @-f\<flag\>@ and can be reveresed with @-fno-\<flag\>@:
144+ .
145+ * @acc-sharing@: Enable sharing recovery of array expressions (True).
146+ .
147+ * @exp-sharing@: Enable sharing recovery of scalar expressions (True).
148+ .
149+ * @fusion@: Enable array fusion (True).
150+ .
151+ * @simplify@: Enable program simplification phase (True).
152+ .
153+ * @flush-cache@: Clear any persistent caches on program startup (False).
154+ .
155+ * @force-recomp@: Force recompilation of array programs (False).
156+ .
157+ * @fast-math@: Allow algebraically equivalent transformations which may
158+ change floating point results (e.g., reassociate) (True).
159+ .
160+ The following options control debug message output, and are enabled with
161+ @-d\<flag\>@.
162+ .
163+ * @verbose@: Be extra chatty.
164+ .
165+ * @dump-phases@: Print timing information about each phase of the compiler.
166+ Enable GC stats (@+RTS -t@ or otherwise) for memory usage information.
167+ .
168+ * @dump-sharing@: Print information related to sharing recovery.
169+ .
170+ * @dump-simpl-stats@: Print statistics related to fusion & simplification.
171+ .
172+ * @dump-simpl-iterations@: Print a summary after each simplifier iteration.
173+ .
174+ * @dump-vectorisation@: Print information related to the vectoriser.
175+ .
176+ * @dump-dot@: Generate a representation of the program graph in Graphviz
177+ DOT format.
178+ .
179+ * @dump-simpl-dot@: Generate a more compact representation of the program
180+ graph in Graphviz DOT format. In particular, scalar expressions are
181+ elided.
182+ .
183+ * @dump-gc@: Print information related to the Accelerate garbage
184+ collector.
185+ .
186+ * @dump-gc-stats@: Print aggregate garbage collection information at the
187+ end of program execution.
188+ .
189+ * @dubug-cc@: Include debug symbols in the generated and compiled kernels.
190+ .
191+ * @dump-cc@: Print information related to kernel code
192+ generation/compilation. Print the generated code if @verbose@.
193+ .
194+ * @dump-ld@: Print information related to runtime linking.
195+ .
196+ * @dump-asm@: Print information related to kernel assembly. Print the
197+ assembled code if @verbose@.
198+ .
199+ * @dump-exec@: Print information related to program execution.
200+ .
201+ * @dump-sched@: Print information related to execution scheduling.
202+ .
203+
204+Flag ekg
205+ Default: False
206+ Description:
207+ Enable hooks for monitoring the running application using EKG. Implies
208+ @debug@ mode. In order to view the metrics, your application will need to
209+ call @Data.Array.Accelerate.Debug.beginMonitoring@ before running any
210+ Accelerate computations. This will launch the server on the local machine at
211+ port 8000.
212+ .
213+ Alternatively, if you wish to configure the EKG monitoring server you can
214+ initialise it like so:
215+ .
216+ > import Data.Array.Accelerate.Debug
217+ >
218+ > import System.Metrics
219+ > import System.Remote.Monitoring
220+ >
221+ > main :: IO ()
222+ > main = do
223+ > store <- initAccMetrics
224+ > registerGcMetrics store -- optional
225+ >
226+ > server <- forkServerWith store "localhost" 8000
227+ >
228+ > ...
229+ .
230+ Note that, as with any program utilising EKG, in order to collect Haskell GC
231+ statistics, you must either run the program with:
232+ .
233+ > +RTS -T -RTS
234+ .
235+ or compile it with:
236+ .
237+ > -with-rtsopts=-T
238+ .
239+
240+Flag bounds-checks
241+ Description: Enable bounds checking
242+ Default: True
243+
244+Flag unsafe-checks
245+ Description: Enable bounds checking in unsafe operations
246+ Default: False
247+
248+Flag internal-checks
249+ Description: Enable internal consistency checks
250+ Default: False
251+
252+Library
253+ Build-depends:
254+ base >= 4.7 && < 4.11
255+ , base-orphans >= 0.3
256+ , containers >= 0.3
257+ , deepseq >= 1.3
258+ , directory >= 1.0
259+ , exceptions >= 0.6
260+ , fclabels >= 2.0
261+ , filepath >= 1.0
262+ , ghc-prim
263+ , hashable >= 1.1
264+ , hashtables >= 1.0
265+ , mtl >= 2.0
266+ , ansi-wl-pprint >= 0.6
267+ , template-haskell
268+ , time >= 1.4
269+ , transformers >= 0.3
270+ , unique
271+ , unordered-containers >= 0.2
272+
273+ Exposed-modules:
274+ -- The core language and reference implementation
275+ Data.Array.Accelerate
276+ Data.Array.Accelerate.Interpreter
277+
278+ -- Prelude-like
279+ Data.Array.Accelerate.Data.Bits
280+ Data.Array.Accelerate.Data.Complex
281+ Data.Array.Accelerate.Data.Fold
282+ Data.Array.Accelerate.Data.Monoid
283+
284+ -- For backend development
285+ Data.Array.Accelerate.AST
286+ Data.Array.Accelerate.Analysis.Hash
287+ Data.Array.Accelerate.Analysis.Match
288+ Data.Array.Accelerate.Analysis.Shape
289+ Data.Array.Accelerate.Analysis.Stencil
290+ Data.Array.Accelerate.Analysis.Type
291+ Data.Array.Accelerate.Array.Data
292+ Data.Array.Accelerate.Array.Remote
293+ Data.Array.Accelerate.Array.Remote.Class
294+ Data.Array.Accelerate.Array.Remote.LRU
295+ Data.Array.Accelerate.Array.Remote.Table
296+ Data.Array.Accelerate.Array.Representation
297+ Data.Array.Accelerate.Array.Sugar
298+ Data.Array.Accelerate.Array.Unique
299+ Data.Array.Accelerate.Async
300+ Data.Array.Accelerate.Debug
301+ Data.Array.Accelerate.Error
302+ Data.Array.Accelerate.FullList
303+ Data.Array.Accelerate.Lifetime
304+ Data.Array.Accelerate.Pretty
305+ Data.Array.Accelerate.Product
306+ Data.Array.Accelerate.Smart
307+ Data.Array.Accelerate.Trafo
308+ Data.Array.Accelerate.Type
309+
310+ Other-modules:
311+ Data.Atomic
312+ Data.Array.Accelerate.Analysis.Hash.TH
313+ Data.Array.Accelerate.Array.Lifted
314+ Data.Array.Accelerate.Array.Remote.Nursery
315+ Data.Array.Accelerate.Classes
316+ Data.Array.Accelerate.Classes.Bounded
317+ Data.Array.Accelerate.Classes.Enum
318+ Data.Array.Accelerate.Classes.Eq
319+ Data.Array.Accelerate.Classes.Floating
320+ Data.Array.Accelerate.Classes.Fractional
321+ Data.Array.Accelerate.Classes.FromIntegral
322+ Data.Array.Accelerate.Classes.Integral
323+ Data.Array.Accelerate.Classes.Num
324+ Data.Array.Accelerate.Classes.Ord
325+ Data.Array.Accelerate.Classes.Real
326+ Data.Array.Accelerate.Classes.RealFloat
327+ Data.Array.Accelerate.Classes.RealFrac
328+ Data.Array.Accelerate.Classes.ToFloating
329+ Data.Array.Accelerate.Debug.Flags
330+ Data.Array.Accelerate.Debug.Monitoring
331+ Data.Array.Accelerate.Debug.Stats
332+ Data.Array.Accelerate.Debug.Timed
333+ Data.Array.Accelerate.Debug.Trace
334+ Data.Array.Accelerate.Language
335+ Data.Array.Accelerate.Lift
336+ Data.Array.Accelerate.Prelude
337+ Data.Array.Accelerate.Pretty.Graphviz
338+ Data.Array.Accelerate.Pretty.Graphviz.Monad
339+ Data.Array.Accelerate.Pretty.Graphviz.Type
340+ Data.Array.Accelerate.Pretty.Print
341+ Data.Array.Accelerate.Trafo.Algebra
342+ Data.Array.Accelerate.Trafo.Base
343+ Data.Array.Accelerate.Trafo.Fusion
344+ Data.Array.Accelerate.Trafo.Rewrite
345+ Data.Array.Accelerate.Trafo.Sharing
346+ Data.Array.Accelerate.Trafo.Shrink
347+ Data.Array.Accelerate.Trafo.Simplify
348+ Data.Array.Accelerate.Trafo.Substitution
349+ -- Data.Array.Accelerate.Trafo.Vectorise
350+
351+ c-sources: cbits/atomic.c
352+
353+ if flag(debug) || flag(ekg)
354+ cpp-options: -DACCELERATE_DEBUG
355+
356+ if flag(ekg)
357+ cpp-options: -DACCELERATE_MONITORING
358+ build-depends:
359+ async >= 2.0
360+ , ekg >= 0.1
361+ , ekg-core >= 0.1
362+ , text >= 1.0
363+ , time >= 1.4
364+
365+ if flag(bounds-checks)
366+ cpp-options: -DACCELERATE_BOUNDS_CHECKS
367+
368+ if flag(unsafe-checks)
369+ cpp-options: -DACCELERATE_UNSAFE_CHECKS
370+
371+ if flag(internal-checks)
372+ cpp-options: -DACCELERATE_INTERNAL_CHECKS
373+
374+ if os(windows)
375+ cpp-options: -DWIN32
376+ build-depends: Win32
377+ else
378+ cpp-options: -DUNIX
379+ build-depends: unix
380+
381+ ghc-options: -O2 -Wall -funbox-strict-fields -fno-warn-name-shadowing
382+ ghc-prof-options: -caf-all -auto-all
383+
384+ if impl(ghc >= 7.0)
385+ ghc-options: -fspec-constr-count=25
386+
387+ if impl(ghc == 7.*)
388+ ghc-options: -fcontext-stack=35
389+
390+ if impl(ghc >= 8.0)
391+ ghc-options: -freduction-depth=35
392+
393+ if impl(ghc < 7.10)
394+ build-depends:
395+ th-lift-instances >= 0.1
396+
397+ -- Don't add the extensions list here. Instead, place individual LANGUAGE
398+ -- pragmas in the files that require a specific extension. This means the
399+ -- project loads in GHCi, and avoids extension clashes.
400+ --
401+ -- Extensions:
402+
403+source-repository head
404+ Type: git
405+ Location: git://github.com/AccelerateHS/accelerate.git
406+
407+source-repository this
408+ Type: git
409+ Tag: 1.1.1.0
410+ Location: git://github.com/AccelerateHS/accelerate.git
411+
412+-- vim: nospell
test/golden-test-cases/accelerate.nix.goldennew file+18
@@ -0,0 +1,18 @@
1+{ mkDerivation, ansi-wl-pprint, base, base-orphans, containers
2+, deepseq, directory, exceptions, fclabels, filepath, ghc-prim
3+, hashable, hashtables, mtl, stdenv, template-haskell, time
4+, transformers, unique, unix, unordered-containers
5+}:
6+mkDerivation {
7+ pname = "accelerate";
8+ version = "1.1.1.0";
9+ sha256 = "deadbeef";
10+ libraryHaskellDepends = [
11+ ansi-wl-pprint base base-orphans containers deepseq directory
12+ exceptions fclabels filepath ghc-prim hashable hashtables mtl
13+ template-haskell time transformers unique unix unordered-containers
14+ ];
15+ homepage = "https://github.com/AccelerateHS/accelerate/";
16+ description = "An embedded language for accelerated array processing";
17+ license = stdenv.lib.licenses.bsd3;
18+}
test/golden-test-cases/active.cabalnew file+44
@@ -0,0 +1,44 @@
1+name: active
2+version: 0.2.0.13
3+synopsis: Abstractions for animation
4+description: "Active" abstraction for animated things with finite start and end times.
5+license: BSD3
6+license-file: LICENSE
7+author: Brent Yorgey
8+maintainer: byorgey@gmail.com
9+copyright: (c) 2011-2015 Brent Yorgey
10+category: Data
11+build-type: Simple
12+cabal-version: >=1.10
13+extra-source-files: CHANGES, README.markdown, diagrams/*.svg
14+extra-doc-files: diagrams/*.svg
15+tested-with: GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1
16+bug-reports: https://github.com/diagrams/active/issues
17+source-repository head
18+ type: git
19+ location: https://github.com/diagrams/active.git
20+
21+library
22+ exposed-modules: Data.Active
23+ build-depends: base >= 4.0 && < 4.11,
24+ vector >= 0.10,
25+ semigroups >= 0.1 && < 0.19,
26+ semigroupoids >= 1.2 && < 5.3,
27+ lens >= 4.0 && < 4.16,
28+ linear >= 1.14 && < 1.21
29+ hs-source-dirs: src
30+ default-language: Haskell2010
31+
32+test-suite active-tests
33+ type: exitcode-stdio-1.0
34+ main-is: active-tests.hs
35+ build-depends: base >= 4.0 && < 4.10,
36+ vector >= 0.10,
37+ semigroups >= 0.1 && < 0.19,
38+ semigroupoids >= 1.2 && < 5.3,
39+ lens >= 4.0 && < 4.16,
40+ linear >= 1.14 && < 1.21,
41+ QuickCheck >= 2.9 && < 2.10
42+ other-modules: Data.Active
43+ hs-source-dirs: src, test
44+ default-language: Haskell2010
test/golden-test-cases/active.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, base, lens, linear, QuickCheck, semigroupoids
2+, semigroups, stdenv, vector
3+}:
4+mkDerivation {
5+ pname = "active";
6+ version = "0.2.0.13";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base lens linear semigroupoids semigroups vector
10+ ];
11+ testHaskellDepends = [
12+ base lens linear QuickCheck semigroupoids semigroups vector
13+ ];
14+ description = "Abstractions for animation";
15+ license = stdenv.lib.licenses.bsd3;
16+}
test/golden-test-cases/adjunctions.cabalnew file+72
@@ -0,0 +1,72 @@
1+name: adjunctions
2+category: Data Structures, Adjunctions
3+version: 4.3
4+license: BSD3
5+cabal-version: >= 1.6
6+license-file: LICENSE
7+author: Edward A. Kmett
8+maintainer: Edward A. Kmett <ekmett@gmail.com>
9+stability: provisional
10+homepage: http://github.com/ekmett/adjunctions/
11+bug-reports: http://github.com/ekmett/adjunctions/issues
12+copyright: Copyright (C) 2011-2014 Edward A. Kmett
13+synopsis: Adjunctions and representable functors
14+description: Adjunctions and representable functors
15+build-type: Simple
16+extra-source-files:
17+ .ghci
18+ .gitignore
19+ .travis.yml
20+ .vim.custom
21+ travis/cabal-apt-install
22+ travis/config
23+ HLint.hs
24+ CHANGELOG.markdown
25+ README.markdown
26+
27+source-repository head
28+ type: git
29+ location: git://github.com/ekmett/adjunctions.git
30+
31+library
32+ hs-source-dirs: src
33+
34+ other-extensions:
35+ CPP
36+ FunctionalDependencies
37+ FlexibleContexts
38+ MultiParamTypeClasses
39+ Rank2Types
40+ UndecidableInstances
41+
42+ build-depends:
43+ array >= 0.3.0.2 && < 0.7,
44+ base >= 4 && < 5,
45+ comonad >= 4 && < 6,
46+ containers >= 0.3 && < 0.6,
47+ contravariant >= 1 && < 2,
48+ distributive >= 0.4 && < 1,
49+ free >= 4 && < 5,
50+ mtl >= 2.0.1 && < 2.3,
51+ profunctors >= 4 && < 6,
52+ tagged >= 0.7 && < 1,
53+ semigroupoids >= 4 && < 6,
54+ semigroups >= 0.11 && < 1,
55+ transformers >= 0.2 && < 0.6,
56+ transformers-compat >= 0.3 && < 1,
57+ void >= 0.5.5.1 && < 1
58+
59+ exposed-modules:
60+ Control.Comonad.Representable.Store
61+ Control.Comonad.Trans.Adjoint
62+ Control.Monad.Representable.Reader
63+ Control.Monad.Representable.State
64+ Control.Monad.Trans.Adjoint
65+ Control.Monad.Trans.Contravariant.Adjoint
66+ Control.Monad.Trans.Conts
67+ Data.Functor.Adjunction
68+ Data.Functor.Contravariant.Adjunction
69+ Data.Functor.Contravariant.Rep
70+ Data.Functor.Rep
71+
72+ ghc-options: -Wall
test/golden-test-cases/adjunctions.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, array, base, comonad, containers, contravariant
2+, distributive, free, mtl, profunctors, semigroupoids, semigroups
3+, stdenv, tagged, transformers, transformers-compat, void
4+}:
5+mkDerivation {
6+ pname = "adjunctions";
7+ version = "4.3";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ array base comonad containers contravariant distributive free mtl
11+ profunctors semigroupoids semigroups tagged transformers
12+ transformers-compat void
13+ ];
14+ homepage = "http://github.com/ekmett/adjunctions/";
15+ description = "Adjunctions and representable functors";
16+ license = stdenv.lib.licenses.bsd3;
17+}
test/golden-test-cases/aeson-diff.cabalnew file+118
@@ -0,0 +1,118 @@
1+name: aeson-diff
2+version: 1.1.0.4
3+synopsis: Extract and apply patches to JSON documents.
4+description:
5+ .
6+ This is a small library for working with changes to JSON documents. It
7+ includes a library and two command-line executables in the style of the
8+ diff(1) and patch(1) commands available on many systems.
9+ .
10+homepage: https://github.com/thsutton/aeson-diff
11+license: BSD3
12+license-file: LICENSE
13+author: Thomas Sutton
14+maintainer: me@thomas-sutton.id.au
15+copyright: (c) 2015 Thomas Sutton and others.
16+category: JSON, Web, Algorithms
17+build-type: Simple
18+cabal-version: >=1.10
19+extra-source-files: README.md
20+ , CHANGELOG.md
21+ , stack.yaml
22+ , test/data/rfc6902/*.json
23+ , test/data/rfc6902/*.txt
24+ , test/data/cases/*.json
25+ , test/data/cases/*.txt
26+
27+source-repository HEAD
28+ type: git
29+ location: https://github.com/thsutton/aeson-diff
30+
31+library
32+ default-language: Haskell2010
33+ hs-source-dirs: lib
34+ exposed-modules: Data.Aeson.Diff
35+ , Data.Aeson.Patch
36+ , Data.Aeson.Pointer
37+ build-depends: base >=4.5 && <4.11
38+ , aeson
39+ , bytestring >= 0.10
40+ , edit-distance-vector
41+ , hashable
42+ , mtl
43+ , scientific
44+ , text
45+ , unordered-containers
46+ , vector
47+
48+executable json-diff
49+ default-language: Haskell2010
50+ hs-source-dirs: src
51+ main-is: diff.hs
52+ build-depends: base
53+ , aeson
54+ , aeson-diff
55+ , bytestring
56+ , optparse-applicative
57+ , text
58+
59+executable json-patch
60+ default-language: Haskell2010
61+ hs-source-dirs: src
62+ main-is: patch.hs
63+ build-depends: base
64+ , aeson
65+ , aeson-diff
66+ , bytestring
67+ , optparse-applicative
68+
69+test-suite properties
70+ default-language: Haskell2010
71+ type: exitcode-stdio-1.0
72+ hs-source-dirs: test
73+ main-is: properties.hs
74+ build-depends: base
75+ , QuickCheck
76+ , aeson
77+ , aeson-diff
78+ , bytestring
79+ , quickcheck-instances
80+ , text
81+ , unordered-containers
82+ , vector
83+
84+test-suite examples
85+ default-language: Haskell2010
86+ type: exitcode-stdio-1.0
87+ hs-source-dirs: test
88+ main-is: examples.hs
89+ build-depends: base
90+ , Glob
91+ , QuickCheck
92+ , aeson
93+ , aeson-diff
94+ , bytestring
95+ , directory
96+ , filepath
97+ , quickcheck-instances
98+ , text
99+ , unordered-containers
100+ , vector
101+
102+test-suite doctests
103+ default-language: Haskell2010
104+ hs-source-dirs: test
105+ type: exitcode-stdio-1.0
106+ ghc-options: -threaded
107+ main-is: doctests.hs
108+ build-depends: base
109+ , QuickCheck
110+ , doctest >= 0.9
111+
112+test-suite hlint-check
113+ default-language: Haskell2010
114+ type: exitcode-stdio-1.0
115+ hs-source-dirs: test
116+ main-is: hlint-check.hs
117+ build-depends: base
118+ , hlint
test/golden-test-cases/aeson-diff.nix.goldennew file+26
@@ -0,0 +1,26 @@
1+{ mkDerivation, aeson, base, bytestring, directory, doctest
2+, edit-distance-vector, filepath, Glob, hashable, hlint, mtl
3+, optparse-applicative, QuickCheck, quickcheck-instances
4+, scientific, stdenv, text, unordered-containers, vector
5+}:
6+mkDerivation {
7+ pname = "aeson-diff";
8+ version = "1.1.0.4";
9+ sha256 = "deadbeef";
10+ isLibrary = true;
11+ isExecutable = true;
12+ libraryHaskellDepends = [
13+ aeson base bytestring edit-distance-vector hashable mtl scientific
14+ text unordered-containers vector
15+ ];
16+ executableHaskellDepends = [
17+ aeson base bytestring optparse-applicative text
18+ ];
19+ testHaskellDepends = [
20+ aeson base bytestring directory doctest filepath Glob hlint
21+ QuickCheck quickcheck-instances text unordered-containers vector
22+ ];
23+ homepage = "https://github.com/thsutton/aeson-diff";
24+ description = "Extract and apply patches to JSON documents";
25+ license = stdenv.lib.licenses.bsd3;
26+}
test/golden-test-cases/aeson-pretty.cabalnew file+74
@@ -0,0 +1,74 @@
1+name: aeson-pretty
2+version: 0.8.5
3+license: BSD3
4+license-file: LICENSE
5+category: Text, Web, JSON, Pretty Printer
6+copyright: Copyright 2011 Falko Peters
7+author: Falko Peters <falko.peters@gmail.com>
8+maintainer: Falko Peters <falko.peters@gmail.com>
9+stability: experimental
10+cabal-version: >= 1.8
11+homepage: http://github.com/informatikr/aeson-pretty
12+bug-reports: http://github.com/informatikr/aeson-pretty/issues
13+build-type: Simple
14+synopsis: JSON pretty-printing library and command-line tool.
15+description:
16+ A JSON pretty-printing library compatible with aeson as well as
17+ a command-line tool to improve readabilty of streams of JSON data.
18+ .
19+ The /library/ provides the function "encodePretty". It is a drop-in
20+ replacement for aeson's "encode" function, producing JSON-ByteStrings for
21+ human readers.
22+ .
23+ The /command-line tool/ reads JSON from stdin and writes prettified JSON
24+ to stdout. It also offers a complementary "compact"-mode, essentially the
25+ opposite of pretty-printing. If you specify @-flib-only@ like this
26+ .
27+ > cabal install -flib-only aeson-pretty
28+ .
29+ the command-line tool will NOT be installed.
30+
31+extra-source-files:
32+ README.markdown
33+
34+flag lib-only
35+ description: Only build/install the library, NOT the command-line tool.
36+ default: False
37+
38+library
39+ exposed-modules:
40+ Data.Aeson.Encode.Pretty
41+
42+ build-depends:
43+ aeson >= 0.7,
44+ base >= 4.5,
45+ base-compat >= 0.9 && < 0.10,
46+ bytestring >= 0.9,
47+ scientific >= 0.3,
48+ vector >= 0.9,
49+ text >= 0.11,
50+ unordered-containers >= 0.1.3.0
51+
52+ ghc-options: -Wall
53+
54+executable aeson-pretty
55+ hs-source-dirs: cli-tool
56+ main-is: Main.hs
57+
58+ if flag(lib-only)
59+ buildable: False
60+ else
61+ build-depends:
62+ aeson >= 0.6,
63+ aeson-pretty,
64+ attoparsec >= 0.10,
65+ base == 4.*,
66+ bytestring >= 0.9,
67+ cmdargs >= 0.7
68+
69+ ghc-options: -Wall
70+ ghc-prof-options: -auto-all
71+
72+source-repository head
73+ type: git
74+ location: http://github.com/informatikr/aeson-pretty
test/golden-test-cases/aeson-pretty.nix.goldennew file+20
@@ -0,0 +1,20 @@
1+{ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
2+, cmdargs, scientific, stdenv, text, unordered-containers, vector
3+}:
4+mkDerivation {
5+ pname = "aeson-pretty";
6+ version = "0.8.5";
7+ sha256 = "deadbeef";
8+ isLibrary = true;
9+ isExecutable = true;
10+ libraryHaskellDepends = [
11+ aeson base base-compat bytestring scientific text
12+ unordered-containers vector
13+ ];
14+ executableHaskellDepends = [
15+ aeson attoparsec base bytestring cmdargs
16+ ];
17+ homepage = "http://github.com/informatikr/aeson-pretty";
18+ description = "JSON pretty-printing library and command-line tool";
19+ license = stdenv.lib.licenses.bsd3;
20+}
test/golden-test-cases/algebraic-graphs.cabalnew file+142
@@ -0,0 +1,142 @@
1+name: algebraic-graphs
2+version: 0.0.5
3+synopsis: A library for algebraic graph construction and transformation
4+license: MIT
5+license-file: LICENSE
6+author: Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
7+maintainer: Andrey Mokhov <andrey.mokhov@gmail.com>, github: @snowleopard
8+copyright: Andrey Mokhov, 2016-2017
9+homepage: https://github.com/snowleopard/alga
10+category: Algebra, Algorithms, Data Structures, Graphs
11+build-type: Simple
12+cabal-version: >=1.18
13+tested-with: GHC==8.0.2
14+stability: experimental
15+description:
16+ <https://github.com/snowleopard/alga Alga> is a library for algebraic construction and
17+ manipulation of graphs in Haskell. See <https://github.com/snowleopard/alga-paper this paper>
18+ for the motivation behind the library, the underlying theory and implementation details.
19+ .
20+ The top-level module
21+ <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph.html Algebra.Graph>
22+ defines the core data type
23+ <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph.html#t:Graph Graph>,
24+ which is a deep embedding of four graph construction primitives /empty/,
25+ /vertex/, /overlay/ and /connect/. More conventional graph representations can be found in
26+ <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-AdjacencyMap.html Algebra.Graph.AdjacencyMap>
27+ and
28+ <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Relation.html Algebra.Graph.Relation>.
29+ .
30+ The type classes defined in
31+ <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Class.html Algebra.Graph.Class>
32+ and
33+ <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-HigherKinded-Class.html Algebra.Graph.HigherKinded.Class>
34+ can be used for polymorphic graph construction and manipulation. Also see
35+ <http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Fold.html Algebra.Graph.Fold>
36+ that defines the Boehm-Berarducci encoding of algebraic graphs and provides additional
37+ flexibility for polymorphic graph manipulation.
38+ .
39+ This is an experimental library and the API will be unstable until version 1.0.0. Please
40+ consider contributing to the on-going
41+ <https://github.com/snowleopard/alga/issues discussions on the library API>.
42+
43+extra-doc-files:
44+ CHANGES.md
45+ README.md
46+
47+source-repository head
48+ type: git
49+ location: https://github.com/snowleopard/alga.git
50+
51+library
52+ hs-source-dirs: src
53+ exposed-modules: Algebra.Graph,
54+ Algebra.Graph.AdjacencyMap,
55+ Algebra.Graph.AdjacencyMap.Internal,
56+ Algebra.Graph.Class,
57+ Algebra.Graph.Export,
58+ Algebra.Graph.Export.Dot,
59+ Algebra.Graph.Fold,
60+ Algebra.Graph.HigherKinded.Class,
61+ Algebra.Graph.IntAdjacencyMap,
62+ Algebra.Graph.IntAdjacencyMap.Internal,
63+ Algebra.Graph.Relation,
64+ Algebra.Graph.Relation.Internal,
65+ Algebra.Graph.Relation.InternalDerived,
66+ Algebra.Graph.Relation.Preorder,
67+ Algebra.Graph.Relation.Reflexive,
68+ Algebra.Graph.Relation.Symmetric,
69+ Algebra.Graph.Relation.Transitive
70+ build-depends: array >= 0.5 && < 0.8,
71+ base >= 4.9 && < 5,
72+ containers >= 0.5 && < 0.8
73+ default-language: Haskell2010
74+ default-extensions: FlexibleContexts
75+ GeneralizedNewtypeDeriving
76+ ScopedTypeVariables
77+ TupleSections
78+ TypeFamilies
79+ other-extensions: DeriveFoldable
80+ DeriveFunctor
81+ DeriveTraversable
82+ OverloadedStrings
83+ RecordWildCards
84+ GHC-options: -Wall
85+ -Wcompat
86+ -Wincomplete-record-updates
87+ -Wincomplete-uni-patterns
88+ -Wredundant-constraints
89+
90+test-suite test-alga
91+ hs-source-dirs: test
92+ type: exitcode-stdio-1.0
93+ main-is: Main.hs
94+ other-modules: Algebra.Graph.Test,
95+ Algebra.Graph.Test.API,
96+ Algebra.Graph.Test.AdjacencyMap,
97+ Algebra.Graph.Test.Arbitrary,
98+ Algebra.Graph.Test.Export,
99+ Algebra.Graph.Test.Fold,
100+ Algebra.Graph.Test.Generic,
101+ Algebra.Graph.Test.Graph,
102+ Algebra.Graph.Test.IntAdjacencyMap,
103+ Algebra.Graph.Test.Relation
104+ build-depends: algebraic-graphs,
105+ base >= 4.9,
106+ containers >= 0.5,
107+ extra >= 1.5,
108+ QuickCheck >= 2.9
109+ default-language: Haskell2010
110+ GHC-options: -O2
111+ -Wall
112+ -Wcompat
113+ -Wincomplete-record-updates
114+ -Wincomplete-uni-patterns
115+ -Wredundant-constraints
116+ default-extensions: FlexibleContexts
117+ GeneralizedNewtypeDeriving
118+ TypeFamilies
119+ ScopedTypeVariables
120+ other-extensions: ConstrainedClassMethods
121+ ConstraintKinds
122+ RankNTypes
123+ ViewPatterns
124+
125+benchmark benchmark-alga
126+ hs-source-dirs: bench
127+ type: exitcode-stdio-1.0
128+ main-is: Bench.hs
129+ build-depends: algebraic-graphs,
130+ base >= 4.9,
131+ containers >= 0.5,
132+ criterion >= 1.1
133+ default-language: Haskell2010
134+ GHC-options: -O2
135+ -Wall
136+ -Wcompat
137+ -Wincomplete-record-updates
138+ -Wincomplete-uni-patterns
139+ -Wredundant-constraints
140+ default-extensions: FlexibleContexts
141+ TypeFamilies
142+ ScopedTypeVariables
test/golden-test-cases/algebraic-graphs.nix.goldennew file+14
@@ -0,0 +1,14 @@
1+{ mkDerivation, array, base, containers, criterion, extra
2+, QuickCheck, stdenv
3+}:
4+mkDerivation {
5+ pname = "algebraic-graphs";
6+ version = "0.0.5";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ array base containers ];
9+ testHaskellDepends = [ base containers extra QuickCheck ];
10+ benchmarkHaskellDepends = [ base containers criterion ];
11+ homepage = "https://github.com/snowleopard/alga";
12+ description = "A library for algebraic graph construction and transformation";
13+ license = stdenv.lib.licenses.mit;
14+}
test/golden-test-cases/amazonka-cloudtrail.cabalnew file+99
@@ -0,0 +1,99 @@
1+name: amazonka-cloudtrail
2+version: 1.5.0
3+synopsis: Amazon CloudTrail SDK.
4+homepage: https://github.com/brendanhay/amazonka
5+bug-reports: https://github.com/brendanhay/amazonka/issues
6+license: MPL-2.0
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>
10+copyright: Copyright (c) 2013-2017 Brendan Hay
11+category: Network, AWS, Cloud, Distributed Computing
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep
15+description:
16+ The types from this library are intended to be used with
17+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides
18+ mechanisms for specifying AuthN/AuthZ information, sending requests,
19+ and receiving responses.
20+ .
21+ Lenses are used for constructing and manipulating types,
22+ due to the depth of nesting of AWS types and transparency regarding
23+ de/serialisation into more palatable Haskell values.
24+ The provided lenses should be compatible with any of the major lens libraries
25+ such as <http://hackage.haskell.org/package/lens lens> or
26+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
27+ .
28+ See "Network.AWS.CloudTrail" or <https://aws.amazon.com/documentation/ the AWS documentation>
29+ to get started.
30+
31+source-repository head
32+ type: git
33+ location: git://github.com/brendanhay/amazonka.git
34+ subdir: amazonka-cloudtrail
35+
36+library
37+ default-language: Haskell2010
38+ hs-source-dirs: src gen
39+
40+ ghc-options:
41+ -Wall
42+ -fwarn-incomplete-uni-patterns
43+ -fwarn-incomplete-record-updates
44+ -funbox-strict-fields
45+
46+ exposed-modules:
47+ Network.AWS.CloudTrail
48+ , Network.AWS.CloudTrail.AddTags
49+ , Network.AWS.CloudTrail.CreateTrail
50+ , Network.AWS.CloudTrail.DeleteTrail
51+ , Network.AWS.CloudTrail.DescribeTrails
52+ , Network.AWS.CloudTrail.GetEventSelectors
53+ , Network.AWS.CloudTrail.GetTrailStatus
54+ , Network.AWS.CloudTrail.ListPublicKeys
55+ , Network.AWS.CloudTrail.ListTags
56+ , Network.AWS.CloudTrail.LookupEvents
57+ , Network.AWS.CloudTrail.PutEventSelectors
58+ , Network.AWS.CloudTrail.RemoveTags
59+ , Network.AWS.CloudTrail.StartLogging
60+ , Network.AWS.CloudTrail.StopLogging
61+ , Network.AWS.CloudTrail.Types
62+ , Network.AWS.CloudTrail.UpdateTrail
63+ , Network.AWS.CloudTrail.Waiters
64+
65+ other-modules:
66+ Network.AWS.CloudTrail.Types.Product
67+ , Network.AWS.CloudTrail.Types.Sum
68+
69+ build-depends:
70+ amazonka-core == 1.5.0.*
71+ , base >= 4.7 && < 5
72+
73+test-suite amazonka-cloudtrail-test
74+ type: exitcode-stdio-1.0
75+ default-language: Haskell2010
76+ hs-source-dirs: test
77+ main-is: Main.hs
78+
79+ ghc-options: -Wall -threaded
80+
81+ -- This section is encoded by the template and any modules added by
82+ -- hand outside these namespaces will not correctly be added to the
83+ -- distribution package.
84+ other-modules:
85+ Test.AWS.CloudTrail
86+ , Test.AWS.Gen.CloudTrail
87+ , Test.AWS.CloudTrail.Internal
88+
89+ build-depends:
90+ amazonka-core == 1.5.0.*
91+ , amazonka-test == 1.5.0.*
92+ , amazonka-cloudtrail
93+ , base
94+ , bytestring
95+ , tasty
96+ , tasty-hunit
97+ , text
98+ , time
99+ , unordered-containers
test/golden-test-cases/amazonka-cloudtrail.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "amazonka-cloudtrail";
6+ version = "1.5.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ amazonka-core base ];
9+ testHaskellDepends = [
10+ amazonka-core amazonka-test base bytestring tasty tasty-hunit text
11+ time unordered-containers
12+ ];
13+ homepage = "https://github.com/brendanhay/amazonka";
14+ description = "Amazon CloudTrail SDK";
15+ license = stdenv.lib.licenses.mpl20;
16+}
test/golden-test-cases/amazonka-cloudwatch-logs.cabalnew file+118
@@ -0,0 +1,118 @@
1+name: amazonka-cloudwatch-logs
2+version: 1.5.0
3+synopsis: Amazon CloudWatch Logs SDK.
4+homepage: https://github.com/brendanhay/amazonka
5+bug-reports: https://github.com/brendanhay/amazonka/issues
6+license: MPL-2.0
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>
10+copyright: Copyright (c) 2013-2017 Brendan Hay
11+category: Network, AWS, Cloud, Distributed Computing
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep
15+description:
16+ The types from this library are intended to be used with
17+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides
18+ mechanisms for specifying AuthN/AuthZ information, sending requests,
19+ and receiving responses.
20+ .
21+ Lenses are used for constructing and manipulating types,
22+ due to the depth of nesting of AWS types and transparency regarding
23+ de/serialisation into more palatable Haskell values.
24+ The provided lenses should be compatible with any of the major lens libraries
25+ such as <http://hackage.haskell.org/package/lens lens> or
26+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
27+ .
28+ See "Network.AWS.CloudWatchLogs" or <https://aws.amazon.com/documentation/ the AWS documentation>
29+ to get started.
30+
31+source-repository head
32+ type: git
33+ location: git://github.com/brendanhay/amazonka.git
34+ subdir: amazonka-cloudwatch-logs
35+
36+library
37+ default-language: Haskell2010
38+ hs-source-dirs: src gen
39+
40+ ghc-options:
41+ -Wall
42+ -fwarn-incomplete-uni-patterns
43+ -fwarn-incomplete-record-updates
44+ -funbox-strict-fields
45+
46+ exposed-modules:
47+ Network.AWS.CloudWatchLogs
48+ , Network.AWS.CloudWatchLogs.AssociateKMSKey
49+ , Network.AWS.CloudWatchLogs.CancelExportTask
50+ , Network.AWS.CloudWatchLogs.CreateExportTask
51+ , Network.AWS.CloudWatchLogs.CreateLogGroup
52+ , Network.AWS.CloudWatchLogs.CreateLogStream
53+ , Network.AWS.CloudWatchLogs.DeleteDestination
54+ , Network.AWS.CloudWatchLogs.DeleteLogGroup
55+ , Network.AWS.CloudWatchLogs.DeleteLogStream
56+ , Network.AWS.CloudWatchLogs.DeleteMetricFilter
57+ , Network.AWS.CloudWatchLogs.DeleteResourcePolicy
58+ , Network.AWS.CloudWatchLogs.DeleteRetentionPolicy
59+ , Network.AWS.CloudWatchLogs.DeleteSubscriptionFilter
60+ , Network.AWS.CloudWatchLogs.DescribeDestinations
61+ , Network.AWS.CloudWatchLogs.DescribeExportTasks
62+ , Network.AWS.CloudWatchLogs.DescribeLogGroups
63+ , Network.AWS.CloudWatchLogs.DescribeLogStreams
64+ , Network.AWS.CloudWatchLogs.DescribeMetricFilters
65+ , Network.AWS.CloudWatchLogs.DescribeResourcePolicies
66+ , Network.AWS.CloudWatchLogs.DescribeSubscriptionFilters
67+ , Network.AWS.CloudWatchLogs.DisassociateKMSKey
68+ , Network.AWS.CloudWatchLogs.FilterLogEvents
69+ , Network.AWS.CloudWatchLogs.GetLogEvents
70+ , Network.AWS.CloudWatchLogs.ListTagsLogGroup
71+ , Network.AWS.CloudWatchLogs.PutDestination
72+ , Network.AWS.CloudWatchLogs.PutDestinationPolicy
73+ , Network.AWS.CloudWatchLogs.PutLogEvents
74+ , Network.AWS.CloudWatchLogs.PutMetricFilter
75+ , Network.AWS.CloudWatchLogs.PutResourcePolicy
76+ , Network.AWS.CloudWatchLogs.PutRetentionPolicy
77+ , Network.AWS.CloudWatchLogs.PutSubscriptionFilter
78+ , Network.AWS.CloudWatchLogs.TagLogGroup
79+ , Network.AWS.CloudWatchLogs.TestMetricFilter
80+ , Network.AWS.CloudWatchLogs.Types
81+ , Network.AWS.CloudWatchLogs.UntagLogGroup
82+ , Network.AWS.CloudWatchLogs.Waiters
83+
84+ other-modules:
85+ Network.AWS.CloudWatchLogs.Types.Product
86+ , Network.AWS.CloudWatchLogs.Types.Sum
87+
88+ build-depends:
89+ amazonka-core == 1.5.0.*
90+ , base >= 4.7 && < 5
91+
92+test-suite amazonka-cloudwatch-logs-test
93+ type: exitcode-stdio-1.0
94+ default-language: Haskell2010
95+ hs-source-dirs: test
96+ main-is: Main.hs
97+
98+ ghc-options: -Wall -threaded
99+
100+ -- This section is encoded by the template and any modules added by
101+ -- hand outside these namespaces will not correctly be added to the
102+ -- distribution package.
103+ other-modules:
104+ Test.AWS.CloudWatchLogs
105+ , Test.AWS.Gen.CloudWatchLogs
106+ , Test.AWS.CloudWatchLogs.Internal
107+
108+ build-depends:
109+ amazonka-core == 1.5.0.*
110+ , amazonka-test == 1.5.0.*
111+ , amazonka-cloudwatch-logs
112+ , base
113+ , bytestring
114+ , tasty
115+ , tasty-hunit
116+ , text
117+ , time
118+ , unordered-containers
test/golden-test-cases/amazonka-cloudwatch-logs.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "amazonka-cloudwatch-logs";
6+ version = "1.5.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ amazonka-core base ];
9+ testHaskellDepends = [
10+ amazonka-core amazonka-test base bytestring tasty tasty-hunit text
11+ time unordered-containers
12+ ];
13+ homepage = "https://github.com/brendanhay/amazonka";
14+ description = "Amazon CloudWatch Logs SDK";
15+ license = stdenv.lib.licenses.mpl20;
16+}
test/golden-test-cases/amazonka-codedeploy.cabalnew file+123
@@ -0,0 +1,123 @@
1+name: amazonka-codedeploy
2+version: 1.5.0
3+synopsis: Amazon CodeDeploy SDK.
4+homepage: https://github.com/brendanhay/amazonka
5+bug-reports: https://github.com/brendanhay/amazonka/issues
6+license: MPL-2.0
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>
10+copyright: Copyright (c) 2013-2017 Brendan Hay
11+category: Network, AWS, Cloud, Distributed Computing
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep
15+description:
16+ The types from this library are intended to be used with
17+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides
18+ mechanisms for specifying AuthN/AuthZ information, sending requests,
19+ and receiving responses.
20+ .
21+ Lenses are used for constructing and manipulating types,
22+ due to the depth of nesting of AWS types and transparency regarding
23+ de/serialisation into more palatable Haskell values.
24+ The provided lenses should be compatible with any of the major lens libraries
25+ such as <http://hackage.haskell.org/package/lens lens> or
26+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
27+ .
28+ See "Network.AWS.CodeDeploy" or <https://aws.amazon.com/documentation/ the AWS documentation>
29+ to get started.
30+
31+source-repository head
32+ type: git
33+ location: git://github.com/brendanhay/amazonka.git
34+ subdir: amazonka-codedeploy
35+
36+library
37+ default-language: Haskell2010
38+ hs-source-dirs: src gen
39+
40+ ghc-options:
41+ -Wall
42+ -fwarn-incomplete-uni-patterns
43+ -fwarn-incomplete-record-updates
44+ -funbox-strict-fields
45+
46+ exposed-modules:
47+ Network.AWS.CodeDeploy
48+ , Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances
49+ , Network.AWS.CodeDeploy.BatchGetApplicationRevisions
50+ , Network.AWS.CodeDeploy.BatchGetApplications
51+ , Network.AWS.CodeDeploy.BatchGetDeploymentGroups
52+ , Network.AWS.CodeDeploy.BatchGetDeploymentInstances
53+ , Network.AWS.CodeDeploy.BatchGetDeployments
54+ , Network.AWS.CodeDeploy.BatchGetOnPremisesInstances
55+ , Network.AWS.CodeDeploy.ContinueDeployment
56+ , Network.AWS.CodeDeploy.CreateApplication
57+ , Network.AWS.CodeDeploy.CreateDeployment
58+ , Network.AWS.CodeDeploy.CreateDeploymentConfig
59+ , Network.AWS.CodeDeploy.CreateDeploymentGroup
60+ , Network.AWS.CodeDeploy.DeleteApplication
61+ , Network.AWS.CodeDeploy.DeleteDeploymentConfig
62+ , Network.AWS.CodeDeploy.DeleteDeploymentGroup
63+ , Network.AWS.CodeDeploy.DeregisterOnPremisesInstance
64+ , Network.AWS.CodeDeploy.GetApplication
65+ , Network.AWS.CodeDeploy.GetApplicationRevision
66+ , Network.AWS.CodeDeploy.GetDeployment
67+ , Network.AWS.CodeDeploy.GetDeploymentConfig
68+ , Network.AWS.CodeDeploy.GetDeploymentGroup
69+ , Network.AWS.CodeDeploy.GetDeploymentInstance
70+ , Network.AWS.CodeDeploy.GetOnPremisesInstance
71+ , Network.AWS.CodeDeploy.ListApplicationRevisions
72+ , Network.AWS.CodeDeploy.ListApplications
73+ , Network.AWS.CodeDeploy.ListDeploymentConfigs
74+ , Network.AWS.CodeDeploy.ListDeploymentGroups
75+ , Network.AWS.CodeDeploy.ListDeploymentInstances
76+ , Network.AWS.CodeDeploy.ListDeployments
77+ , Network.AWS.CodeDeploy.ListGitHubAccountTokenNames
78+ , Network.AWS.CodeDeploy.ListOnPremisesInstances
79+ , Network.AWS.CodeDeploy.RegisterApplicationRevision
80+ , Network.AWS.CodeDeploy.RegisterOnPremisesInstance
81+ , Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances
82+ , Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination
83+ , Network.AWS.CodeDeploy.StopDeployment
84+ , Network.AWS.CodeDeploy.Types
85+ , Network.AWS.CodeDeploy.UpdateApplication
86+ , Network.AWS.CodeDeploy.UpdateDeploymentGroup
87+ , Network.AWS.CodeDeploy.Waiters
88+
89+ other-modules:
90+ Network.AWS.CodeDeploy.Types.Product
91+ , Network.AWS.CodeDeploy.Types.Sum
92+
93+ build-depends:
94+ amazonka-core == 1.5.0.*
95+ , base >= 4.7 && < 5
96+
97+test-suite amazonka-codedeploy-test
98+ type: exitcode-stdio-1.0
99+ default-language: Haskell2010
100+ hs-source-dirs: test
101+ main-is: Main.hs
102+
103+ ghc-options: -Wall -threaded
104+
105+ -- This section is encoded by the template and any modules added by
106+ -- hand outside these namespaces will not correctly be added to the
107+ -- distribution package.
108+ other-modules:
109+ Test.AWS.CodeDeploy
110+ , Test.AWS.Gen.CodeDeploy
111+ , Test.AWS.CodeDeploy.Internal
112+
113+ build-depends:
114+ amazonka-core == 1.5.0.*
115+ , amazonka-test == 1.5.0.*
116+ , amazonka-codedeploy
117+ , base
118+ , bytestring
119+ , tasty
120+ , tasty-hunit
121+ , text
122+ , time
123+ , unordered-containers
test/golden-test-cases/amazonka-codedeploy.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "amazonka-codedeploy";
6+ version = "1.5.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ amazonka-core base ];
9+ testHaskellDepends = [
10+ amazonka-core amazonka-test base bytestring tasty tasty-hunit text
11+ time unordered-containers
12+ ];
13+ homepage = "https://github.com/brendanhay/amazonka";
14+ description = "Amazon CodeDeploy SDK";
15+ license = stdenv.lib.licenses.mpl20;
16+}
test/golden-test-cases/amazonka-cognito-idp.cabalnew file+168
@@ -0,0 +1,168 @@
1+name: amazonka-cognito-idp
2+version: 1.5.0
3+synopsis: Amazon Cognito Identity Provider SDK.
4+homepage: https://github.com/brendanhay/amazonka
5+bug-reports: https://github.com/brendanhay/amazonka/issues
6+license: MPL-2.0
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>
10+copyright: Copyright (c) 2013-2017 Brendan Hay
11+category: Network, AWS, Cloud, Distributed Computing
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep
15+description:
16+ The types from this library are intended to be used with
17+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides
18+ mechanisms for specifying AuthN/AuthZ information, sending requests,
19+ and receiving responses.
20+ .
21+ Lenses are used for constructing and manipulating types,
22+ due to the depth of nesting of AWS types and transparency regarding
23+ de/serialisation into more palatable Haskell values.
24+ The provided lenses should be compatible with any of the major lens libraries
25+ such as <http://hackage.haskell.org/package/lens lens> or
26+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
27+ .
28+ See "Network.AWS.CognitoIdentityProvider" or <https://aws.amazon.com/documentation/ the AWS documentation>
29+ to get started.
30+
31+source-repository head
32+ type: git
33+ location: git://github.com/brendanhay/amazonka.git
34+ subdir: amazonka-cognito-idp
35+
36+library
37+ default-language: Haskell2010
38+ hs-source-dirs: src gen
39+
40+ ghc-options:
41+ -Wall
42+ -fwarn-incomplete-uni-patterns
43+ -fwarn-incomplete-record-updates
44+ -funbox-strict-fields
45+
46+ exposed-modules:
47+ Network.AWS.CognitoIdentityProvider
48+ , Network.AWS.CognitoIdentityProvider.AddCustomAttributes
49+ , Network.AWS.CognitoIdentityProvider.AdminAddUserToGroup
50+ , Network.AWS.CognitoIdentityProvider.AdminConfirmSignUp
51+ , Network.AWS.CognitoIdentityProvider.AdminCreateUser
52+ , Network.AWS.CognitoIdentityProvider.AdminDeleteUser
53+ , Network.AWS.CognitoIdentityProvider.AdminDeleteUserAttributes
54+ , Network.AWS.CognitoIdentityProvider.AdminDisableProviderForUser
55+ , Network.AWS.CognitoIdentityProvider.AdminDisableUser
56+ , Network.AWS.CognitoIdentityProvider.AdminEnableUser
57+ , Network.AWS.CognitoIdentityProvider.AdminForgetDevice
58+ , Network.AWS.CognitoIdentityProvider.AdminGetDevice
59+ , Network.AWS.CognitoIdentityProvider.AdminGetUser
60+ , Network.AWS.CognitoIdentityProvider.AdminInitiateAuth
61+ , Network.AWS.CognitoIdentityProvider.AdminLinkProviderForUser
62+ , Network.AWS.CognitoIdentityProvider.AdminListDevices
63+ , Network.AWS.CognitoIdentityProvider.AdminListGroupsForUser
64+ , Network.AWS.CognitoIdentityProvider.AdminRemoveUserFromGroup
65+ , Network.AWS.CognitoIdentityProvider.AdminResetUserPassword
66+ , Network.AWS.CognitoIdentityProvider.AdminRespondToAuthChallenge
67+ , Network.AWS.CognitoIdentityProvider.AdminSetUserSettings
68+ , Network.AWS.CognitoIdentityProvider.AdminUpdateDeviceStatus
69+ , Network.AWS.CognitoIdentityProvider.AdminUpdateUserAttributes
70+ , Network.AWS.CognitoIdentityProvider.AdminUserGlobalSignOut
71+ , Network.AWS.CognitoIdentityProvider.ChangePassword
72+ , Network.AWS.CognitoIdentityProvider.ConfirmDevice
73+ , Network.AWS.CognitoIdentityProvider.ConfirmForgotPassword
74+ , Network.AWS.CognitoIdentityProvider.ConfirmSignUp
75+ , Network.AWS.CognitoIdentityProvider.CreateGroup
76+ , Network.AWS.CognitoIdentityProvider.CreateIdentityProvider
77+ , Network.AWS.CognitoIdentityProvider.CreateResourceServer
78+ , Network.AWS.CognitoIdentityProvider.CreateUserImportJob
79+ , Network.AWS.CognitoIdentityProvider.CreateUserPool
80+ , Network.AWS.CognitoIdentityProvider.CreateUserPoolClient
81+ , Network.AWS.CognitoIdentityProvider.CreateUserPoolDomain
82+ , Network.AWS.CognitoIdentityProvider.DeleteGroup
83+ , Network.AWS.CognitoIdentityProvider.DeleteIdentityProvider
84+ , Network.AWS.CognitoIdentityProvider.DeleteResourceServer
85+ , Network.AWS.CognitoIdentityProvider.DeleteUser
86+ , Network.AWS.CognitoIdentityProvider.DeleteUserAttributes
87+ , Network.AWS.CognitoIdentityProvider.DeleteUserPool
88+ , Network.AWS.CognitoIdentityProvider.DeleteUserPoolClient
89+ , Network.AWS.CognitoIdentityProvider.DeleteUserPoolDomain
90+ , Network.AWS.CognitoIdentityProvider.DescribeIdentityProvider
91+ , Network.AWS.CognitoIdentityProvider.DescribeResourceServer
92+ , Network.AWS.CognitoIdentityProvider.DescribeUserImportJob
93+ , Network.AWS.CognitoIdentityProvider.DescribeUserPool
94+ , Network.AWS.CognitoIdentityProvider.DescribeUserPoolClient
95+ , Network.AWS.CognitoIdentityProvider.DescribeUserPoolDomain
96+ , Network.AWS.CognitoIdentityProvider.ForgetDevice
97+ , Network.AWS.CognitoIdentityProvider.ForgotPassword
98+ , Network.AWS.CognitoIdentityProvider.GetCSVHeader
99+ , Network.AWS.CognitoIdentityProvider.GetDevice
100+ , Network.AWS.CognitoIdentityProvider.GetGroup
101+ , Network.AWS.CognitoIdentityProvider.GetIdentityProviderByIdentifier
102+ , Network.AWS.CognitoIdentityProvider.GetUICustomization
103+ , Network.AWS.CognitoIdentityProvider.GetUser
104+ , Network.AWS.CognitoIdentityProvider.GetUserAttributeVerificationCode
105+ , Network.AWS.CognitoIdentityProvider.GlobalSignOut
106+ , Network.AWS.CognitoIdentityProvider.InitiateAuth
107+ , Network.AWS.CognitoIdentityProvider.ListDevices
108+ , Network.AWS.CognitoIdentityProvider.ListGroups
109+ , Network.AWS.CognitoIdentityProvider.ListIdentityProviders
110+ , Network.AWS.CognitoIdentityProvider.ListResourceServers
111+ , Network.AWS.CognitoIdentityProvider.ListUserImportJobs
112+ , Network.AWS.CognitoIdentityProvider.ListUserPoolClients
113+ , Network.AWS.CognitoIdentityProvider.ListUserPools
114+ , Network.AWS.CognitoIdentityProvider.ListUsers
115+ , Network.AWS.CognitoIdentityProvider.ListUsersInGroup
116+ , Network.AWS.CognitoIdentityProvider.ResendConfirmationCode
117+ , Network.AWS.CognitoIdentityProvider.RespondToAuthChallenge
118+ , Network.AWS.CognitoIdentityProvider.SetUICustomization
119+ , Network.AWS.CognitoIdentityProvider.SetUserSettings
120+ , Network.AWS.CognitoIdentityProvider.SignUp
121+ , Network.AWS.CognitoIdentityProvider.StartUserImportJob
122+ , Network.AWS.CognitoIdentityProvider.StopUserImportJob
123+ , Network.AWS.CognitoIdentityProvider.Types
124+ , Network.AWS.CognitoIdentityProvider.UpdateDeviceStatus
125+ , Network.AWS.CognitoIdentityProvider.UpdateGroup
126+ , Network.AWS.CognitoIdentityProvider.UpdateIdentityProvider
127+ , Network.AWS.CognitoIdentityProvider.UpdateResourceServer
128+ , Network.AWS.CognitoIdentityProvider.UpdateUserAttributes
129+ , Network.AWS.CognitoIdentityProvider.UpdateUserPool
130+ , Network.AWS.CognitoIdentityProvider.UpdateUserPoolClient
131+ , Network.AWS.CognitoIdentityProvider.VerifyUserAttribute
132+ , Network.AWS.CognitoIdentityProvider.Waiters
133+
134+ other-modules:
135+ Network.AWS.CognitoIdentityProvider.Types.Product
136+ , Network.AWS.CognitoIdentityProvider.Types.Sum
137+
138+ build-depends:
139+ amazonka-core == 1.5.0.*
140+ , base >= 4.7 && < 5
141+
142+test-suite amazonka-cognito-idp-test
143+ type: exitcode-stdio-1.0
144+ default-language: Haskell2010
145+ hs-source-dirs: test
146+ main-is: Main.hs
147+
148+ ghc-options: -Wall -threaded
149+
150+ -- This section is encoded by the template and any modules added by
151+ -- hand outside these namespaces will not correctly be added to the
152+ -- distribution package.
153+ other-modules:
154+ Test.AWS.CognitoIdentityProvider
155+ , Test.AWS.Gen.CognitoIdentityProvider
156+ , Test.AWS.CognitoIdentityProvider.Internal
157+
158+ build-depends:
159+ amazonka-core == 1.5.0.*
160+ , amazonka-test == 1.5.0.*
161+ , amazonka-cognito-idp
162+ , base
163+ , bytestring
164+ , tasty
165+ , tasty-hunit
166+ , text
167+ , time
168+ , unordered-containers
test/golden-test-cases/amazonka-cognito-idp.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "amazonka-cognito-idp";
6+ version = "1.5.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ amazonka-core base ];
9+ testHaskellDepends = [
10+ amazonka-core amazonka-test base bytestring tasty tasty-hunit text
11+ time unordered-containers
12+ ];
13+ homepage = "https://github.com/brendanhay/amazonka";
14+ description = "Amazon Cognito Identity Provider SDK";
15+ license = stdenv.lib.licenses.mpl20;
16+}
test/golden-test-cases/amazonka-ecs.cabalnew file+116
@@ -0,0 +1,116 @@
1+name: amazonka-ecs
2+version: 1.5.0
3+synopsis: Amazon EC2 Container Service SDK.
4+homepage: https://github.com/brendanhay/amazonka
5+bug-reports: https://github.com/brendanhay/amazonka/issues
6+license: MPL-2.0
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>
10+copyright: Copyright (c) 2013-2017 Brendan Hay
11+category: Network, AWS, Cloud, Distributed Computing
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep
15+description:
16+ The types from this library are intended to be used with
17+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides
18+ mechanisms for specifying AuthN/AuthZ information, sending requests,
19+ and receiving responses.
20+ .
21+ Lenses are used for constructing and manipulating types,
22+ due to the depth of nesting of AWS types and transparency regarding
23+ de/serialisation into more palatable Haskell values.
24+ The provided lenses should be compatible with any of the major lens libraries
25+ such as <http://hackage.haskell.org/package/lens lens> or
26+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
27+ .
28+ See "Network.AWS.ECS" or <https://aws.amazon.com/documentation/ the AWS documentation>
29+ to get started.
30+
31+source-repository head
32+ type: git
33+ location: git://github.com/brendanhay/amazonka.git
34+ subdir: amazonka-ecs
35+
36+library
37+ default-language: Haskell2010
38+ hs-source-dirs: src gen
39+
40+ ghc-options:
41+ -Wall
42+ -fwarn-incomplete-uni-patterns
43+ -fwarn-incomplete-record-updates
44+ -funbox-strict-fields
45+
46+ exposed-modules:
47+ Network.AWS.ECS
48+ , Network.AWS.ECS.CreateCluster
49+ , Network.AWS.ECS.CreateService
50+ , Network.AWS.ECS.DeleteAttributes
51+ , Network.AWS.ECS.DeleteCluster
52+ , Network.AWS.ECS.DeleteService
53+ , Network.AWS.ECS.DeregisterContainerInstance
54+ , Network.AWS.ECS.DeregisterTaskDefinition
55+ , Network.AWS.ECS.DescribeClusters
56+ , Network.AWS.ECS.DescribeContainerInstances
57+ , Network.AWS.ECS.DescribeServices
58+ , Network.AWS.ECS.DescribeTaskDefinition
59+ , Network.AWS.ECS.DescribeTasks
60+ , Network.AWS.ECS.DiscoverPollEndpoint
61+ , Network.AWS.ECS.ListAttributes
62+ , Network.AWS.ECS.ListClusters
63+ , Network.AWS.ECS.ListContainerInstances
64+ , Network.AWS.ECS.ListServices
65+ , Network.AWS.ECS.ListTaskDefinitionFamilies
66+ , Network.AWS.ECS.ListTaskDefinitions
67+ , Network.AWS.ECS.ListTasks
68+ , Network.AWS.ECS.PutAttributes
69+ , Network.AWS.ECS.RegisterContainerInstance
70+ , Network.AWS.ECS.RegisterTaskDefinition
71+ , Network.AWS.ECS.RunTask
72+ , Network.AWS.ECS.StartTask
73+ , Network.AWS.ECS.StopTask
74+ , Network.AWS.ECS.SubmitContainerStateChange
75+ , Network.AWS.ECS.SubmitTaskStateChange
76+ , Network.AWS.ECS.Types
77+ , Network.AWS.ECS.UpdateContainerAgent
78+ , Network.AWS.ECS.UpdateContainerInstancesState
79+ , Network.AWS.ECS.UpdateService
80+ , Network.AWS.ECS.Waiters
81+
82+ other-modules:
83+ Network.AWS.ECS.Types.Product
84+ , Network.AWS.ECS.Types.Sum
85+
86+ build-depends:
87+ amazonka-core == 1.5.0.*
88+ , base >= 4.7 && < 5
89+
90+test-suite amazonka-ecs-test
91+ type: exitcode-stdio-1.0
92+ default-language: Haskell2010
93+ hs-source-dirs: test
94+ main-is: Main.hs
95+
96+ ghc-options: -Wall -threaded
97+
98+ -- This section is encoded by the template and any modules added by
99+ -- hand outside these namespaces will not correctly be added to the
100+ -- distribution package.
101+ other-modules:
102+ Test.AWS.ECS
103+ , Test.AWS.Gen.ECS
104+ , Test.AWS.ECS.Internal
105+
106+ build-depends:
107+ amazonka-core == 1.5.0.*
108+ , amazonka-test == 1.5.0.*
109+ , amazonka-ecs
110+ , base
111+ , bytestring
112+ , tasty
113+ , tasty-hunit
114+ , text
115+ , time
116+ , unordered-containers
test/golden-test-cases/amazonka-ecs.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "amazonka-ecs";
6+ version = "1.5.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ amazonka-core base ];
9+ testHaskellDepends = [
10+ amazonka-core amazonka-test base bytestring tasty tasty-hunit text
11+ time unordered-containers
12+ ];
13+ homepage = "https://github.com/brendanhay/amazonka";
14+ description = "Amazon EC2 Container Service SDK";
15+ license = stdenv.lib.licenses.mpl20;
16+}
test/golden-test-cases/amazonka-kms.cabalnew file+120
@@ -0,0 +1,120 @@
1+name: amazonka-kms
2+version: 1.5.0
3+synopsis: Amazon Key Management Service SDK.
4+homepage: https://github.com/brendanhay/amazonka
5+bug-reports: https://github.com/brendanhay/amazonka/issues
6+license: MPL-2.0
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>
10+copyright: Copyright (c) 2013-2017 Brendan Hay
11+category: Network, AWS, Cloud, Distributed Computing
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep
15+description:
16+ The types from this library are intended to be used with
17+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides
18+ mechanisms for specifying AuthN/AuthZ information, sending requests,
19+ and receiving responses.
20+ .
21+ Lenses are used for constructing and manipulating types,
22+ due to the depth of nesting of AWS types and transparency regarding
23+ de/serialisation into more palatable Haskell values.
24+ The provided lenses should be compatible with any of the major lens libraries
25+ such as <http://hackage.haskell.org/package/lens lens> or
26+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
27+ .
28+ See "Network.AWS.KMS" or <https://aws.amazon.com/documentation/ the AWS documentation>
29+ to get started.
30+
31+source-repository head
32+ type: git
33+ location: git://github.com/brendanhay/amazonka.git
34+ subdir: amazonka-kms
35+
36+library
37+ default-language: Haskell2010
38+ hs-source-dirs: src gen
39+
40+ ghc-options:
41+ -Wall
42+ -fwarn-incomplete-uni-patterns
43+ -fwarn-incomplete-record-updates
44+ -funbox-strict-fields
45+
46+ exposed-modules:
47+ Network.AWS.KMS
48+ , Network.AWS.KMS.CancelKeyDeletion
49+ , Network.AWS.KMS.CreateAlias
50+ , Network.AWS.KMS.CreateGrant
51+ , Network.AWS.KMS.CreateKey
52+ , Network.AWS.KMS.Decrypt
53+ , Network.AWS.KMS.DeleteAlias
54+ , Network.AWS.KMS.DeleteImportedKeyMaterial
55+ , Network.AWS.KMS.DescribeKey
56+ , Network.AWS.KMS.DisableKey
57+ , Network.AWS.KMS.DisableKeyRotation
58+ , Network.AWS.KMS.EnableKey
59+ , Network.AWS.KMS.EnableKeyRotation
60+ , Network.AWS.KMS.Encrypt
61+ , Network.AWS.KMS.GenerateDataKey
62+ , Network.AWS.KMS.GenerateDataKeyWithoutPlaintext
63+ , Network.AWS.KMS.GenerateRandom
64+ , Network.AWS.KMS.GetKeyPolicy
65+ , Network.AWS.KMS.GetKeyRotationStatus
66+ , Network.AWS.KMS.GetParametersForImport
67+ , Network.AWS.KMS.ImportKeyMaterial
68+ , Network.AWS.KMS.ListAliases
69+ , Network.AWS.KMS.ListGrants
70+ , Network.AWS.KMS.ListKeyPolicies
71+ , Network.AWS.KMS.ListKeys
72+ , Network.AWS.KMS.ListResourceTags
73+ , Network.AWS.KMS.ListRetirableGrants
74+ , Network.AWS.KMS.PutKeyPolicy
75+ , Network.AWS.KMS.ReEncrypt
76+ , Network.AWS.KMS.RetireGrant
77+ , Network.AWS.KMS.RevokeGrant
78+ , Network.AWS.KMS.ScheduleKeyDeletion
79+ , Network.AWS.KMS.TagResource
80+ , Network.AWS.KMS.Types
81+ , Network.AWS.KMS.UntagResource
82+ , Network.AWS.KMS.UpdateAlias
83+ , Network.AWS.KMS.UpdateKeyDescription
84+ , Network.AWS.KMS.Waiters
85+
86+ other-modules:
87+ Network.AWS.KMS.Types.Product
88+ , Network.AWS.KMS.Types.Sum
89+
90+ build-depends:
91+ amazonka-core == 1.5.0.*
92+ , base >= 4.7 && < 5
93+
94+test-suite amazonka-kms-test
95+ type: exitcode-stdio-1.0
96+ default-language: Haskell2010
97+ hs-source-dirs: test
98+ main-is: Main.hs
99+
100+ ghc-options: -Wall -threaded
101+
102+ -- This section is encoded by the template and any modules added by
103+ -- hand outside these namespaces will not correctly be added to the
104+ -- distribution package.
105+ other-modules:
106+ Test.AWS.KMS
107+ , Test.AWS.Gen.KMS
108+ , Test.AWS.KMS.Internal
109+
110+ build-depends:
111+ amazonka-core == 1.5.0.*
112+ , amazonka-test == 1.5.0.*
113+ , amazonka-kms
114+ , base
115+ , bytestring
116+ , tasty
117+ , tasty-hunit
118+ , text
119+ , time
120+ , unordered-containers
test/golden-test-cases/amazonka-kms.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "amazonka-kms";
6+ version = "1.5.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ amazonka-core base ];
9+ testHaskellDepends = [
10+ amazonka-core amazonka-test base bytestring tasty tasty-hunit text
11+ time unordered-containers
12+ ];
13+ homepage = "https://github.com/brendanhay/amazonka";
14+ description = "Amazon Key Management Service SDK";
15+ license = stdenv.lib.licenses.mpl20;
16+}
test/golden-test-cases/amazonka-lightsail.cabalnew file+133
@@ -0,0 +1,133 @@
1+name: amazonka-lightsail
2+version: 1.5.0
3+synopsis: Amazon Lightsail SDK.
4+homepage: https://github.com/brendanhay/amazonka
5+bug-reports: https://github.com/brendanhay/amazonka/issues
6+license: MPL-2.0
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>
10+copyright: Copyright (c) 2013-2017 Brendan Hay
11+category: Network, AWS, Cloud, Distributed Computing
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep
15+description:
16+ The types from this library are intended to be used with
17+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides
18+ mechanisms for specifying AuthN/AuthZ information, sending requests,
19+ and receiving responses.
20+ .
21+ Lenses are used for constructing and manipulating types,
22+ due to the depth of nesting of AWS types and transparency regarding
23+ de/serialisation into more palatable Haskell values.
24+ The provided lenses should be compatible with any of the major lens libraries
25+ such as <http://hackage.haskell.org/package/lens lens> or
26+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
27+ .
28+ See "Network.AWS.Lightsail" or <https://aws.amazon.com/documentation/ the AWS documentation>
29+ to get started.
30+
31+source-repository head
32+ type: git
33+ location: git://github.com/brendanhay/amazonka.git
34+ subdir: amazonka-lightsail
35+
36+library
37+ default-language: Haskell2010
38+ hs-source-dirs: src gen
39+
40+ ghc-options:
41+ -Wall
42+ -fwarn-incomplete-uni-patterns
43+ -fwarn-incomplete-record-updates
44+ -funbox-strict-fields
45+
46+ exposed-modules:
47+ Network.AWS.Lightsail
48+ , Network.AWS.Lightsail.AllocateStaticIP
49+ , Network.AWS.Lightsail.AttachStaticIP
50+ , Network.AWS.Lightsail.CloseInstancePublicPorts
51+ , Network.AWS.Lightsail.CreateDomain
52+ , Network.AWS.Lightsail.CreateDomainEntry
53+ , Network.AWS.Lightsail.CreateInstanceSnapshot
54+ , Network.AWS.Lightsail.CreateInstances
55+ , Network.AWS.Lightsail.CreateInstancesFromSnapshot
56+ , Network.AWS.Lightsail.CreateKeyPair
57+ , Network.AWS.Lightsail.DeleteDomain
58+ , Network.AWS.Lightsail.DeleteDomainEntry
59+ , Network.AWS.Lightsail.DeleteInstance
60+ , Network.AWS.Lightsail.DeleteInstanceSnapshot
61+ , Network.AWS.Lightsail.DeleteKeyPair
62+ , Network.AWS.Lightsail.DetachStaticIP
63+ , Network.AWS.Lightsail.DownloadDefaultKeyPair
64+ , Network.AWS.Lightsail.GetActiveNames
65+ , Network.AWS.Lightsail.GetBlueprints
66+ , Network.AWS.Lightsail.GetBundles
67+ , Network.AWS.Lightsail.GetDomain
68+ , Network.AWS.Lightsail.GetDomains
69+ , Network.AWS.Lightsail.GetInstance
70+ , Network.AWS.Lightsail.GetInstanceAccessDetails
71+ , Network.AWS.Lightsail.GetInstanceMetricData
72+ , Network.AWS.Lightsail.GetInstancePortStates
73+ , Network.AWS.Lightsail.GetInstanceSnapshot
74+ , Network.AWS.Lightsail.GetInstanceSnapshots
75+ , Network.AWS.Lightsail.GetInstanceState
76+ , Network.AWS.Lightsail.GetInstances
77+ , Network.AWS.Lightsail.GetKeyPair
78+ , Network.AWS.Lightsail.GetKeyPairs
79+ , Network.AWS.Lightsail.GetOperation
80+ , Network.AWS.Lightsail.GetOperations
81+ , Network.AWS.Lightsail.GetOperationsForResource
82+ , Network.AWS.Lightsail.GetRegions
83+ , Network.AWS.Lightsail.GetStaticIP
84+ , Network.AWS.Lightsail.GetStaticIPs
85+ , Network.AWS.Lightsail.ImportKeyPair
86+ , Network.AWS.Lightsail.IsVPCPeered
87+ , Network.AWS.Lightsail.OpenInstancePublicPorts
88+ , Network.AWS.Lightsail.PeerVPC
89+ , Network.AWS.Lightsail.PutInstancePublicPorts
90+ , Network.AWS.Lightsail.RebootInstance
91+ , Network.AWS.Lightsail.ReleaseStaticIP
92+ , Network.AWS.Lightsail.StartInstance
93+ , Network.AWS.Lightsail.StopInstance
94+ , Network.AWS.Lightsail.Types
95+ , Network.AWS.Lightsail.UnpeerVPC
96+ , Network.AWS.Lightsail.UpdateDomainEntry
97+ , Network.AWS.Lightsail.Waiters
98+
99+ other-modules:
100+ Network.AWS.Lightsail.Types.Product
101+ , Network.AWS.Lightsail.Types.Sum
102+
103+ build-depends:
104+ amazonka-core == 1.5.0.*
105+ , base >= 4.7 && < 5
106+
107+test-suite amazonka-lightsail-test
108+ type: exitcode-stdio-1.0
109+ default-language: Haskell2010
110+ hs-source-dirs: test
111+ main-is: Main.hs
112+
113+ ghc-options: -Wall -threaded
114+
115+ -- This section is encoded by the template and any modules added by
116+ -- hand outside these namespaces will not correctly be added to the
117+ -- distribution package.
118+ other-modules:
119+ Test.AWS.Lightsail
120+ , Test.AWS.Gen.Lightsail
121+ , Test.AWS.Lightsail.Internal
122+
123+ build-depends:
124+ amazonka-core == 1.5.0.*
125+ , amazonka-test == 1.5.0.*
126+ , amazonka-lightsail
127+ , base
128+ , bytestring
129+ , tasty
130+ , tasty-hunit
131+ , text
132+ , time
133+ , unordered-containers
test/golden-test-cases/amazonka-lightsail.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "amazonka-lightsail";
6+ version = "1.5.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ amazonka-core base ];
9+ testHaskellDepends = [
10+ amazonka-core amazonka-test base bytestring tasty tasty-hunit text
11+ time unordered-containers
12+ ];
13+ homepage = "https://github.com/brendanhay/amazonka";
14+ description = "Amazon Lightsail SDK";
15+ license = stdenv.lib.licenses.mpl20;
16+}
test/golden-test-cases/amazonka-route53-domains.cabalnew file+109
@@ -0,0 +1,109 @@
1+name: amazonka-route53-domains
2+version: 1.5.0
3+synopsis: Amazon Route 53 Domains SDK.
4+homepage: https://github.com/brendanhay/amazonka
5+bug-reports: https://github.com/brendanhay/amazonka/issues
6+license: MPL-2.0
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>
10+copyright: Copyright (c) 2013-2017 Brendan Hay
11+category: Network, AWS, Cloud, Distributed Computing
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep
15+description:
16+ The types from this library are intended to be used with
17+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides
18+ mechanisms for specifying AuthN/AuthZ information, sending requests,
19+ and receiving responses.
20+ .
21+ Lenses are used for constructing and manipulating types,
22+ due to the depth of nesting of AWS types and transparency regarding
23+ de/serialisation into more palatable Haskell values.
24+ The provided lenses should be compatible with any of the major lens libraries
25+ such as <http://hackage.haskell.org/package/lens lens> or
26+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
27+ .
28+ See "Network.AWS.Route53Domains" or <https://aws.amazon.com/documentation/ the AWS documentation>
29+ to get started.
30+
31+source-repository head
32+ type: git
33+ location: git://github.com/brendanhay/amazonka.git
34+ subdir: amazonka-route53-domains
35+
36+library
37+ default-language: Haskell2010
38+ hs-source-dirs: src gen
39+
40+ ghc-options:
41+ -Wall
42+ -fwarn-incomplete-uni-patterns
43+ -fwarn-incomplete-record-updates
44+ -funbox-strict-fields
45+
46+ exposed-modules:
47+ Network.AWS.Route53Domains
48+ , Network.AWS.Route53Domains.CheckDomainAvailability
49+ , Network.AWS.Route53Domains.CheckDomainTransferability
50+ , Network.AWS.Route53Domains.DeleteTagsForDomain
51+ , Network.AWS.Route53Domains.DisableDomainAutoRenew
52+ , Network.AWS.Route53Domains.DisableDomainTransferLock
53+ , Network.AWS.Route53Domains.EnableDomainAutoRenew
54+ , Network.AWS.Route53Domains.EnableDomainTransferLock
55+ , Network.AWS.Route53Domains.GetContactReachabilityStatus
56+ , Network.AWS.Route53Domains.GetDomainDetail
57+ , Network.AWS.Route53Domains.GetDomainSuggestions
58+ , Network.AWS.Route53Domains.GetOperationDetail
59+ , Network.AWS.Route53Domains.ListDomains
60+ , Network.AWS.Route53Domains.ListOperations
61+ , Network.AWS.Route53Domains.ListTagsForDomain
62+ , Network.AWS.Route53Domains.RegisterDomain
63+ , Network.AWS.Route53Domains.RenewDomain
64+ , Network.AWS.Route53Domains.ResendContactReachabilityEmail
65+ , Network.AWS.Route53Domains.RetrieveDomainAuthCode
66+ , Network.AWS.Route53Domains.TransferDomain
67+ , Network.AWS.Route53Domains.Types
68+ , Network.AWS.Route53Domains.UpdateDomainContact
69+ , Network.AWS.Route53Domains.UpdateDomainContactPrivacy
70+ , Network.AWS.Route53Domains.UpdateDomainNameservers
71+ , Network.AWS.Route53Domains.UpdateTagsForDomain
72+ , Network.AWS.Route53Domains.ViewBilling
73+ , Network.AWS.Route53Domains.Waiters
74+
75+ other-modules:
76+ Network.AWS.Route53Domains.Types.Product
77+ , Network.AWS.Route53Domains.Types.Sum
78+
79+ build-depends:
80+ amazonka-core == 1.5.0.*
81+ , base >= 4.7 && < 5
82+
83+test-suite amazonka-route53-domains-test
84+ type: exitcode-stdio-1.0
85+ default-language: Haskell2010
86+ hs-source-dirs: test
87+ main-is: Main.hs
88+
89+ ghc-options: -Wall -threaded
90+
91+ -- This section is encoded by the template and any modules added by
92+ -- hand outside these namespaces will not correctly be added to the
93+ -- distribution package.
94+ other-modules:
95+ Test.AWS.Route53Domains
96+ , Test.AWS.Gen.Route53Domains
97+ , Test.AWS.Route53Domains.Internal
98+
99+ build-depends:
100+ amazonka-core == 1.5.0.*
101+ , amazonka-test == 1.5.0.*
102+ , amazonka-route53-domains
103+ , base
104+ , bytestring
105+ , tasty
106+ , tasty-hunit
107+ , text
108+ , time
109+ , unordered-containers
test/golden-test-cases/amazonka-route53-domains.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "amazonka-route53-domains";
6+ version = "1.5.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ amazonka-core base ];
9+ testHaskellDepends = [
10+ amazonka-core amazonka-test base bytestring tasty tasty-hunit text
11+ time unordered-containers
12+ ];
13+ homepage = "https://github.com/brendanhay/amazonka";
14+ description = "Amazon Route 53 Domains SDK";
15+ license = stdenv.lib.licenses.mpl20;
16+}
test/golden-test-cases/amazonka-waf.cabalnew file+144
@@ -0,0 +1,144 @@
1+name: amazonka-waf
2+version: 1.5.0
3+synopsis: Amazon WAF SDK.
4+homepage: https://github.com/brendanhay/amazonka
5+bug-reports: https://github.com/brendanhay/amazonka/issues
6+license: MPL-2.0
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>
10+copyright: Copyright (c) 2013-2017 Brendan Hay
11+category: Network, AWS, Cloud, Distributed Computing
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md fixture/*.yaml fixture/*.proto src/.gitkeep
15+description:
16+ The types from this library are intended to be used with
17+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides
18+ mechanisms for specifying AuthN/AuthZ information, sending requests,
19+ and receiving responses.
20+ .
21+ Lenses are used for constructing and manipulating types,
22+ due to the depth of nesting of AWS types and transparency regarding
23+ de/serialisation into more palatable Haskell values.
24+ The provided lenses should be compatible with any of the major lens libraries
25+ such as <http://hackage.haskell.org/package/lens lens> or
26+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
27+ .
28+ See "Network.AWS.WAF" or <https://aws.amazon.com/documentation/ the AWS documentation>
29+ to get started.
30+
31+source-repository head
32+ type: git
33+ location: git://github.com/brendanhay/amazonka.git
34+ subdir: amazonka-waf
35+
36+library
37+ default-language: Haskell2010
38+ hs-source-dirs: src gen
39+
40+ ghc-options:
41+ -Wall
42+ -fwarn-incomplete-uni-patterns
43+ -fwarn-incomplete-record-updates
44+ -funbox-strict-fields
45+
46+ exposed-modules:
47+ Network.AWS.WAF
48+ , Network.AWS.WAF.CreateByteMatchSet
49+ , Network.AWS.WAF.CreateGeoMatchSet
50+ , Network.AWS.WAF.CreateIPSet
51+ , Network.AWS.WAF.CreateRateBasedRule
52+ , Network.AWS.WAF.CreateRegexMatchSet
53+ , Network.AWS.WAF.CreateRegexPatternSet
54+ , Network.AWS.WAF.CreateRule
55+ , Network.AWS.WAF.CreateSizeConstraintSet
56+ , Network.AWS.WAF.CreateSqlInjectionMatchSet
57+ , Network.AWS.WAF.CreateWebACL
58+ , Network.AWS.WAF.CreateXSSMatchSet
59+ , Network.AWS.WAF.DeleteByteMatchSet
60+ , Network.AWS.WAF.DeleteGeoMatchSet
61+ , Network.AWS.WAF.DeleteIPSet
62+ , Network.AWS.WAF.DeleteRateBasedRule
63+ , Network.AWS.WAF.DeleteRegexMatchSet
64+ , Network.AWS.WAF.DeleteRegexPatternSet
65+ , Network.AWS.WAF.DeleteRule
66+ , Network.AWS.WAF.DeleteSizeConstraintSet
67+ , Network.AWS.WAF.DeleteSqlInjectionMatchSet
68+ , Network.AWS.WAF.DeleteWebACL
69+ , Network.AWS.WAF.DeleteXSSMatchSet
70+ , Network.AWS.WAF.GetByteMatchSet
71+ , Network.AWS.WAF.GetChangeToken
72+ , Network.AWS.WAF.GetChangeTokenStatus
73+ , Network.AWS.WAF.GetGeoMatchSet
74+ , Network.AWS.WAF.GetIPSet
75+ , Network.AWS.WAF.GetRateBasedRule
76+ , Network.AWS.WAF.GetRateBasedRuleManagedKeys
77+ , Network.AWS.WAF.GetRegexMatchSet
78+ , Network.AWS.WAF.GetRegexPatternSet
79+ , Network.AWS.WAF.GetRule
80+ , Network.AWS.WAF.GetSampledRequests
81+ , Network.AWS.WAF.GetSizeConstraintSet
82+ , Network.AWS.WAF.GetSqlInjectionMatchSet
83+ , Network.AWS.WAF.GetWebACL
84+ , Network.AWS.WAF.GetXSSMatchSet
85+ , Network.AWS.WAF.ListByteMatchSets
86+ , Network.AWS.WAF.ListGeoMatchSets
87+ , Network.AWS.WAF.ListIPSets
88+ , Network.AWS.WAF.ListRateBasedRules
89+ , Network.AWS.WAF.ListRegexMatchSets
90+ , Network.AWS.WAF.ListRegexPatternSets
91+ , Network.AWS.WAF.ListRules
92+ , Network.AWS.WAF.ListSizeConstraintSets
93+ , Network.AWS.WAF.ListSqlInjectionMatchSets
94+ , Network.AWS.WAF.ListWebACLs
95+ , Network.AWS.WAF.ListXSSMatchSets
96+ , Network.AWS.WAF.Types
97+ , Network.AWS.WAF.UpdateByteMatchSet
98+ , Network.AWS.WAF.UpdateGeoMatchSet
99+ , Network.AWS.WAF.UpdateIPSet
100+ , Network.AWS.WAF.UpdateRateBasedRule
101+ , Network.AWS.WAF.UpdateRegexMatchSet
102+ , Network.AWS.WAF.UpdateRegexPatternSet
103+ , Network.AWS.WAF.UpdateRule
104+ , Network.AWS.WAF.UpdateSizeConstraintSet
105+ , Network.AWS.WAF.UpdateSqlInjectionMatchSet
106+ , Network.AWS.WAF.UpdateWebACL
107+ , Network.AWS.WAF.UpdateXSSMatchSet
108+ , Network.AWS.WAF.Waiters
109+
110+ other-modules:
111+ Network.AWS.WAF.Types.Product
112+ , Network.AWS.WAF.Types.Sum
113+
114+ build-depends:
115+ amazonka-core == 1.5.0.*
116+ , base >= 4.7 && < 5
117+
118+test-suite amazonka-waf-test
119+ type: exitcode-stdio-1.0
120+ default-language: Haskell2010
121+ hs-source-dirs: test
122+ main-is: Main.hs
123+
124+ ghc-options: -Wall -threaded
125+
126+ -- This section is encoded by the template and any modules added by
127+ -- hand outside these namespaces will not correctly be added to the
128+ -- distribution package.
129+ other-modules:
130+ Test.AWS.WAF
131+ , Test.AWS.Gen.WAF
132+ , Test.AWS.WAF.Internal
133+
134+ build-depends:
135+ amazonka-core == 1.5.0.*
136+ , amazonka-test == 1.5.0.*
137+ , amazonka-waf
138+ , base
139+ , bytestring
140+ , tasty
141+ , tasty-hunit
142+ , text
143+ , time
144+ , unordered-containers
test/golden-test-cases/amazonka-waf.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "amazonka-waf";
6+ version = "1.5.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ amazonka-core base ];
9+ testHaskellDepends = [
10+ amazonka-core amazonka-test base bytestring tasty tasty-hunit text
11+ time unordered-containers
12+ ];
13+ homepage = "https://github.com/brendanhay/amazonka";
14+ description = "Amazon WAF SDK";
15+ license = stdenv.lib.licenses.mpl20;
16+}
test/golden-test-cases/api-field-json-th.cabalnew file+40
@@ -0,0 +1,40 @@
1+name: api-field-json-th
2+version: 0.1.0.2
3+synopsis: option of aeson's deriveJSON
4+description: Utils for using aeson's deriveJSON with lens's makeFields
5+homepage: https://github.com/nakaji-dayo/api-field-json-th
6+license: BSD3
7+license-file: LICENSE
8+author: Daishi Nakajima
9+maintainer: nakaji.dayo@gmail.com
10+copyright: 2016 Daishi Nakajima
11+category: Utils
12+build-type: Simple
13+-- extra-source-files:
14+cabal-version: >=1.10
15+
16+library
17+ exposed-modules: Data.Aeson.APIFieldJsonTH
18+ build-depends: base >= 4.7 && < 5
19+ , text
20+ , aeson
21+ , lens
22+ , split
23+ , template-haskell
24+ default-language: Haskell2010
25+
26+test-suite api-field-json-th-test
27+ type: exitcode-stdio-1.0
28+ hs-source-dirs: test
29+ main-is: Spec.hs
30+ build-depends: base
31+ , api-field-json-th
32+ , HUnit
33+ , aeson
34+ , lens
35+ ghc-options: -threaded -rtsopts -with-rtsopts=-N
36+ default-language: Haskell2010
37+
38+source-repository head
39+ type: git
40+ location: https://github.com/nakaji-dayo/api-field-json-th
test/golden-test-cases/api-field-json-th.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, aeson, base, HUnit, lens, split, stdenv
2+, template-haskell, text
3+}:
4+mkDerivation {
5+ pname = "api-field-json-th";
6+ version = "0.1.0.2";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ aeson base lens split template-haskell text
10+ ];
11+ testHaskellDepends = [ aeson base HUnit lens ];
12+ homepage = "https://github.com/nakaji-dayo/api-field-json-th";
13+ description = "option of aeson's deriveJSON";
14+ license = stdenv.lib.licenses.bsd3;
15+}
test/golden-test-cases/app-settings.cabalnew file+138
@@ -0,0 +1,138 @@
1+-- Initial app-settings.cabal generated by cabal init. For further
2+-- documentation, see http://haskell.org/cabal/users-guide/
3+
4+name: app-settings
5+version: 0.2.0.11
6+synopsis: A library to manage application settings (INI file-like)
7+description:
8+ A library to deal with application settings.
9+ .
10+ This library deals with read-write application settings.
11+ You will have to specify the settings that your application
12+ uses, their name, types and default values.
13+ .
14+ Setting types must implement the 'Read' and 'Show' typeclasses.
15+ .
16+ The settings are saved in a file in an INI-like key-value format
17+ (without sections).
18+ .
19+ Reading and updating settings is done in pure code, the IO
20+ monad is only used to load settings and save them to disk.
21+ It is advised for the user to create a module in your project
22+ holding settings handling.
23+ .
24+ You can then declare settings:
25+ .
26+ > fontSize :: Setting Double
27+ > fontSize = Setting "fontSize" 14
28+ >
29+ > dateFormat :: Setting String
30+ > dateFormat = Setting "dateFormat" "%x"
31+ >
32+ > backgroundColor :: Setting (Int, Int, Int)
33+ > backgroundColor = Setting "backcolor" (255, 0, 0)
34+ .
35+ Optionally you can declare the list of all your settings,
36+ in that case the application will also save the default
37+ values in the configuration file, but commented out:
38+ .
39+ > fontSize=16
40+ > # dateFormat="%x"
41+ > # backcolor=(255,0,0)
42+ .
43+ If you do not specify the list of settings, only the
44+ first line would be present in the configuration file.
45+ .
46+ With an ordinary setting, one row in the configuration file
47+ means one setting. That setting may of course be a list
48+ for instance. This setup works very well for shorter lists
49+ like [1,2,3], however if you have a list of more complex
50+ items, you will get very long lines and a configuration
51+ file very difficult to edit by hand.
52+ .
53+ For these special cases there is also the 'ListSetting'
54+ constructor:
55+ .
56+ > testList :: Setting [String]
57+ > testList = ListSetting "testList" ["list1", "list2", "list3"]
58+ .
59+ Now the configuration file looks like that:
60+ .
61+ > testList_1="list1"
62+ > testList_2="list2"
63+ > testList_3="list3"
64+ .
65+ Which is much more handy for big lists. An empty list is represented
66+ like so:
67+ .
68+ > testList=
69+ .
70+ There is also another technique that you can use if you have too long
71+ lines: you can put line breaks in the setting values if you start the
72+ following lines with a leading space, like so:
73+ .
74+ > testList=["list1",
75+ > "list2", "list3"]
76+ .
77+ In that case don't use the ListSetting option. Any character after the
78+ the leading space in the next lines will go in the setting value. Note
79+ that the library will automatically wrap setting values longer than 80
80+ characters when saving.
81+ .
82+ Once we declared the settings, we can read the configuration
83+ from disk (and your settings module should export your wrapper
84+ around the function offered by this library):
85+ .
86+ > readResult <- try $ readSettings (AutoFromAppName "test")
87+ > case readResult of
88+ > Right (conf, GetSetting getSetting) -> do
89+ > let textSize = getSetting fontSize
90+ > saveSettings emptyDefaultConfig (AutoFromAppName "test") conf
91+ > Left (x :: SomeException) -> error "Error reading the config file!"
92+ .
93+ 'AutoFromAppName' specifies where to save the configuration file.
94+ And we've already covered the getSetting in this snippet, see
95+ the 'readSettings' documentation for further information.
96+ .
97+ You can also look at the tests of the library on the github project for sample use.
98+
99+homepage: https://github.com/emmanueltouzery/app-settings
100+license: BSD3
101+license-file: LICENSE
102+author: Emmanuel Touzery
103+maintainer: etouzery@gmail.com
104+-- copyright:
105+category: Configuration
106+build-type: Simple
107+extra-source-files: tests/*.conf tests/*.config tests/*.txt
108+cabal-version: >=1.10
109+
110+library
111+ exposed-modules: Data.AppSettings
112+ other-modules: Data.Serialization,
113+ Data.AppSettingsInternal
114+ -- other-extensions:
115+ build-depends: base >=4.6 && <5,
116+ mtl >= 2.1 && <2.3,
117+ containers == 0.5.*,
118+ directory >= 1.2 && < 1.4,
119+ text >= 0.10,
120+ parsec == 3.1.*
121+ -- hs-source-dirs:
122+ default-language: Haskell2010
123+ Ghc-Options: -Wall
124+
125+test-suite tests
126+ type: exitcode-stdio-1.0
127+ hs-source-dirs: ., tests
128+ main-is: Tests.hs
129+ default-language: Haskell2010
130+ build-depends: base,
131+ hspec,
132+ HUnit >= 1.2 && <1.7,
133+ mtl >= 2.1 && <2.3,
134+ containers == 0.5.*,
135+ directory >= 1.2 && < 1.4,
136+ text >= 0.10,
137+ parsec == 3.1.*
138+ Ghc-Options: -Wall
test/golden-test-cases/app-settings.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, base, containers, directory, hspec, HUnit, mtl
2+, parsec, stdenv, text
3+}:
4+mkDerivation {
5+ pname = "app-settings";
6+ version = "0.2.0.11";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base containers directory mtl parsec text
10+ ];
11+ testHaskellDepends = [
12+ base containers directory hspec HUnit mtl parsec text
13+ ];
14+ homepage = "https://github.com/emmanueltouzery/app-settings";
15+ description = "A library to manage application settings (INI file-like)";
16+ license = stdenv.lib.licenses.bsd3;
17+}
test/golden-test-cases/apply-refact.cabalnew file+96
@@ -0,0 +1,96 @@
1+-- Initial hlint-refactor.cabal generated by cabal init. For further
2+-- documentation, see http://haskell.org/cabal/users-guide/
3+
4+name: apply-refact
5+version: 0.4.1.0
6+synopsis: Perform refactorings specified by the refact library.
7+description: Perform refactorings specified by the refact library. It is primarily used with HLint's --refactor flag.
8+license: BSD3
9+license-file: LICENSE
10+author: Matthew Pickering
11+maintainer: matthewtpickering@gmail.com
12+-- copyright:
13+category: Development
14+build-type: Simple
15+extra-source-files: CHANGELOG
16+ , README.md
17+ , tests/examples/*.hs
18+ , tests/examples/*.hs.refact
19+ , tests/examples/*.hs.expected
20+cabal-version: >=1.10
21+tested-with: GHC == 8.0.1
22+
23+
24+source-repository head
25+ type: git
26+ location: https://github.com/mpickering/apply-refact.git
27+
28+library
29+ exposed-modules: Refact.Utils
30+ , Refact.Apply
31+ , Refact.Fixity
32+ GHC-Options: -Wall
33+ build-depends: base >=4.8 && <4.11
34+ , refact >= 0.2
35+ , ghc-exactprint >= 0.5.3.1
36+ , ghc >= 8.2.0 && < 8.3
37+ , containers
38+ , syb
39+ , mtl
40+ , process
41+ , transformers
42+ , temporary
43+ , filemanip
44+ , unix-compat
45+ , directory
46+ hs-source-dirs: src
47+ default-language: Haskell2010
48+
49+executable refactor
50+ main-is: Main.hs
51+ hs-source-dirs: src
52+ default-language: Haskell2010
53+ ghc-options: -Wall -fno-warn-unused-do-bind
54+ build-depends: base >= 4.8 && < 4.11
55+ , refact >= 0.2
56+ , ghc-exactprint >= 0.5.3.1
57+ , ghc >= 8.2.0 && < 8.3
58+ , containers
59+ , syb
60+ , mtl
61+ , process
62+ , directory
63+ , optparse-applicative >= 0.13
64+ , filemanip
65+ , unix-compat
66+ , filepath
67+ , temporary
68+ , transformers
69+
70+Test-Suite test
71+ type: exitcode-stdio-1.0
72+ hs-source-dirs: tests, src
73+ main-is: Test.hs
74+ GHC-Options: -threaded -main-is Test
75+ Default-language: Haskell2010
76+ if impl (ghc < 7.10)
77+ buildable: False
78+ Build-depends: tasty
79+ , tasty-golden
80+ , tasty-expected-failure
81+ , base < 5
82+ , refact >= 0.2
83+ , ghc-exactprint >= 0.5.3.1
84+ , ghc >= 8.2.0 && < 8.3
85+ , containers
86+ , syb
87+ , mtl
88+ , process
89+ , directory
90+ , optparse-applicative
91+ , filemanip
92+ , unix-compat
93+ , filepath
94+ , silently
95+ , temporary
96+ , transformers
test/golden-test-cases/apply-refact.nix.goldennew file+29
@@ -0,0 +1,29 @@
1+{ mkDerivation, base, containers, directory, filemanip, filepath
2+, ghc, ghc-exactprint, mtl, optparse-applicative, process, refact
3+, silently, stdenv, syb, tasty, tasty-expected-failure
4+, tasty-golden, temporary, transformers, unix-compat
5+}:
6+mkDerivation {
7+ pname = "apply-refact";
8+ version = "0.4.1.0";
9+ sha256 = "deadbeef";
10+ isLibrary = true;
11+ isExecutable = true;
12+ libraryHaskellDepends = [
13+ base containers directory filemanip ghc ghc-exactprint mtl process
14+ refact syb temporary transformers unix-compat
15+ ];
16+ executableHaskellDepends = [
17+ base containers directory filemanip filepath ghc ghc-exactprint mtl
18+ optparse-applicative process refact syb temporary transformers
19+ unix-compat
20+ ];
21+ testHaskellDepends = [
22+ base containers directory filemanip filepath ghc ghc-exactprint mtl
23+ optparse-applicative process refact silently syb tasty
24+ tasty-expected-failure tasty-golden temporary transformers
25+ unix-compat
26+ ];
27+ description = "Perform refactorings specified by the refact library";
28+ license = stdenv.lib.licenses.bsd3;
29+}
test/golden-test-cases/async.cabalnew file+64
@@ -0,0 +1,64 @@
1+name: async
2+version: 2.1.1.1
3+-- don't forget to update ./changelog.md!
4+synopsis: Run IO operations asynchronously and wait for their results
5+
6+description:
7+ This package provides a higher-level interface over
8+ threads, in which an @Async a@ is a concurrent
9+ thread that will eventually deliver a value of
10+ type @a@. The package provides ways to create
11+ @Async@ computations, wait for their results, and
12+ cancel them.
13+ .
14+ Using @Async@ is safer than using threads in two
15+ ways:
16+ .
17+ * When waiting for a thread to return a result,
18+ if the thread dies with an exception then the
19+ caller must either re-throw the exception
20+ ('wait') or handle it ('waitCatch'); the
21+ exception cannot be ignored.
22+ .
23+ * The API makes it possible to build a tree of
24+ threads that are automatically killed when
25+ their parent dies (see 'withAsync').
26+
27+license: BSD3
28+license-file: LICENSE
29+author: Simon Marlow
30+maintainer: Simon Marlow <marlowsd@gmail.com>
31+copyright: (c) Simon Marlow 2012
32+category: Concurrency
33+build-type: Simple
34+cabal-version: >=1.10
35+homepage: https://github.com/simonmar/async
36+bug-reports: https://github.com/simonmar/async/issues
37+tested-with: GHC==7.11.*, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2, GHC==7.0.4
38+
39+extra-source-files:
40+ changelog.md
41+ bench/race.hs
42+
43+source-repository head
44+ type: git
45+ location: https://github.com/simonmar/async.git
46+
47+library
48+ default-language: Haskell2010
49+ other-extensions: CPP, MagicHash, RankNTypes, UnboxedTuples
50+ if impl(ghc>=7.1)
51+ other-extensions: Trustworthy
52+ exposed-modules: Control.Concurrent.Async
53+ build-depends: base >= 4.3 && < 4.11, stm >= 2.2 && < 2.5
54+
55+test-suite test-async
56+ default-language: Haskell2010
57+ type: exitcode-stdio-1.0
58+ hs-source-dirs: test
59+ main-is: test-async.hs
60+ build-depends: base >= 4.3 && < 4.11,
61+ async,
62+ test-framework,
63+ test-framework-hunit,
64+ HUnit
test/golden-test-cases/async.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, base, HUnit, stdenv, stm, test-framework
2+, test-framework-hunit
3+}:
4+mkDerivation {
5+ pname = "async";
6+ version = "2.1.1.1";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base stm ];
9+ testHaskellDepends = [
10+ base HUnit test-framework test-framework-hunit
11+ ];
12+ homepage = "https://github.com/simonmar/async";
13+ description = "Run IO operations asynchronously and wait for their results";
14+ license = stdenv.lib.licenses.bsd3;
15+}
test/golden-test-cases/attoparsec-expr.cabalnew file+28
@@ -0,0 +1,28 @@
1+name: attoparsec-expr
2+version: 0.1.1.2
3+description: Port of parsec's expression parser to attoparsec.
4+synopsis: Port of parsec's expression parser to attoparsec.
5+category: Text, Parsing
6+license: BSD3
7+license-file: LICENSE
8+author: Daan Leijen, Paolo Martini
9+maintainer: Silk <code@silk.co>
10+build-type: Simple
11+cabal-version: >= 1.6
12+
13+extra-source-files:
14+ CHANGELOG.md
15+ LICENSE
16+ README.md
17+
18+source-repository head
19+ type: git
20+ location: https://github.com/silkapp/attoparsec-expr
21+
22+library
23+ ghc-options: -Wall
24+ hs-source-dirs: src
25+ exposed-modules: Data.Attoparsec.Expr
26+ Build-Depends:
27+ base == 4.*
28+ , attoparsec >= 0.10 && < 0.14
test/golden-test-cases/attoparsec-expr.nix.goldennew file+9
@@ -0,0 +1,9 @@
1+{ mkDerivation, attoparsec, base, stdenv }:
2+mkDerivation {
3+ pname = "attoparsec-expr";
4+ version = "0.1.1.2";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ attoparsec base ];
7+ description = "Port of parsec's expression parser to attoparsec";
8+ license = stdenv.lib.licenses.bsd3;
9+}
test/golden-test-cases/attoparsec-time.cabalnew file+84
@@ -0,0 +1,84 @@
1+name:
2+ attoparsec-time
3+version:
4+ 1
5+synopsis:
6+ Attoparsec parsers of time
7+description:
8+ A collection of Attoparsec parsers for the \"time\" library
9+category:
10+ Attoparsec, Parsers, Time
11+homepage:
12+ https://github.com/nikita-volkov/attoparsec-time
13+bug-reports:
14+ https://github.com/nikita-volkov/attoparsec-time/issues
15+author:
16+ Nikita Volkov <nikita.y.volkov@mail.ru>
17+maintainer:
18+ Nikita Volkov <nikita.y.volkov@mail.ru>
19+copyright:
20+ (c) 2017, Nikita Volkov
21+license:
22+ MIT
23+license-file:
24+ LICENSE
25+build-type:
26+ Custom
27+cabal-version:
28+ >=1.10
29+
30+source-repository head
31+ type:
32+ git
33+ location:
34+ git://github.com/nikita-volkov/attoparsec-time.git
35+
36+custom-setup
37+ setup-depends:
38+ base, Cabal, cabal-doctest >=1.0.2 && <1.1
39+
40+library
41+ hs-source-dirs:
42+ library
43+ default-extensions:
44+ Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
45+ default-language:
46+ Haskell2010
47+ exposed-modules:
48+ Attoparsec.Time.ByteString
49+ Attoparsec.Time.Text
50+ other-modules:
51+ Attoparsec.Time.Prelude
52+ Attoparsec.Time.Validation
53+ Attoparsec.Time.Pure
54+ build-depends:
55+ --
56+ attoparsec >=0.13 && <0.15,
57+ --
58+ time >=1.4 && <2,
59+ scientific ==0.3.*,
60+ text >=1 && <2,
61+ bytestring ==0.10.*,
62+ --
63+ base-prelude <2,
64+ base >=4.7 && <5
65+
66+test-suite doctests
67+ type:
68+ exitcode-stdio-1.0
69+ hs-source-dirs:
70+ doctests
71+ main-is:
72+ Main.hs
73+ ghc-options:
74+ -threaded
75+ "-with-rtsopts=-N"
76+ -funbox-strict-fields
77+ default-language:
78+ Haskell2010
79+ build-depends:
80+ doctest ==0.13.*,
81+ directory >=1.2 && <2,
82+ filepath >=1.4 && <2,
83+ base-prelude <2,
84+ base <5
test/golden-test-cases/attoparsec-time.nix.goldennew file+19
@@ -0,0 +1,19 @@
1+{ mkDerivation, attoparsec, base, base-prelude, bytestring, Cabal
2+, cabal-doctest, directory, doctest, filepath, scientific, stdenv
3+, text, time
4+}:
5+mkDerivation {
6+ pname = "attoparsec-time";
7+ version = "1";
8+ sha256 = "deadbeef";
9+ setupHaskellDepends = [ base Cabal cabal-doctest ];
10+ libraryHaskellDepends = [
11+ attoparsec base base-prelude bytestring scientific text time
12+ ];
13+ testHaskellDepends = [
14+ base base-prelude directory doctest filepath
15+ ];
16+ homepage = "https://github.com/nikita-volkov/attoparsec-time";
17+ description = "Attoparsec parsers of time";
18+ license = stdenv.lib.licenses.mit;
19+}
test/golden-test-cases/avers-server.cabalnew file+55
@@ -0,0 +1,55 @@
1+name: avers-server
2+version: 0.1.0
3+synopsis: Server implementation of the Avers API
4+description: Server implementation of the Avers API
5+homepage: http://github.com/wereHamster/avers-server
6+license: MIT
7+license-file: LICENSE
8+author: Tomas Carnecky
9+maintainer: tomas.carnecky@gmail.com
10+copyright: 2016 Tomas Carnecky
11+category: Avers
12+build-type: Simple
13+cabal-version: >=1.10
14+
15+source-repository head
16+ type: git
17+ location: https://github.com/wereHamster/avers
18+
19+library
20+ default-language: Haskell2010
21+ hs-source-dirs: src
22+ ghc-options: -Wall
23+
24+ exposed-modules:
25+ Avers.Server
26+
27+ other-modules:
28+ Avers.Server.Authorization
29+ , Avers.Server.Instances
30+
31+ build-depends:
32+ base >= 4.7 && < 5
33+ , aeson
34+ , avers
35+ , avers-api
36+ , base64-bytestring
37+ , bytestring
38+ , bytestring-conversion
39+ , containers
40+ , cookie
41+ , cryptonite
42+ , http-types
43+ , memory
44+ , mtl
45+ , resource-pool
46+ , rethinkdb-client-driver
47+ , servant
48+ , servant-server
49+ , stm
50+ , text
51+ , time
52+ , transformers
53+ , wai
54+ , wai-websockets
55+ , websockets
test/golden-test-cases/avers-server.nix.goldennew file+21
@@ -0,0 +1,21 @@
1+{ mkDerivation, aeson, avers, avers-api, base, base64-bytestring
2+, bytestring, bytestring-conversion, containers, cookie, cryptonite
3+, http-types, memory, mtl, resource-pool, rethinkdb-client-driver
4+, servant, servant-server, stdenv, stm, text, time, transformers
5+, wai, wai-websockets, websockets
6+}:
7+mkDerivation {
8+ pname = "avers-server";
9+ version = "0.1.0";
10+ sha256 = "deadbeef";
11+ libraryHaskellDepends = [
12+ aeson avers avers-api base base64-bytestring bytestring
13+ bytestring-conversion containers cookie cryptonite http-types
14+ memory mtl resource-pool rethinkdb-client-driver servant
15+ servant-server stm text time transformers wai wai-websockets
16+ websockets
17+ ];
18+ homepage = "http://github.com/wereHamster/avers-server";
19+ description = "Server implementation of the Avers API";
20+ license = stdenv.lib.licenses.mit;
21+}
test/golden-test-cases/aws.cabalnew file+430
@@ -0,0 +1,430 @@
1+Name: aws
2+Version: 0.18
3+Synopsis: Amazon Web Services (AWS) for Haskell
4+Description: Bindings for Amazon Web Services (AWS), with the aim of supporting all AWS services. To see a high level overview of the library, see the README at <https://github.com/aristidb/aws/blob/master/README.md>.
5+Homepage: http://github.com/aristidb/aws
6+License: BSD3
7+License-file: LICENSE
8+Author: Aristid Breitkreuz, contributors see README
9+Maintainer: aristidb@gmail.com
10+Copyright: See contributors list in README and LICENSE file
11+Category: Network, Web, AWS, Cloud, Distributed Computing
12+Build-type: Simple
13+
14+Extra-source-files: README.md
15+ CHANGELOG.md
16+
17+Cabal-version: >=1.10
18+
19+Source-repository this
20+ type: git
21+ location: https://github.com/aristidb/aws.git
22+ tag: 0.18
23+
24+Source-repository head
25+ type: git
26+ location: https://github.com/aristidb/aws.git
27+
28+Flag Examples
29+ Description: Build the examples.
30+ Default: False
31+
32+Library
33+ Exposed-modules:
34+ Aws
35+ Aws.Aws
36+ Aws.Core
37+ Aws.DynamoDb
38+ Aws.DynamoDb.Commands
39+ Aws.DynamoDb.Commands.BatchGetItem
40+ Aws.DynamoDb.Commands.BatchWriteItem
41+ Aws.DynamoDb.Commands.DeleteItem
42+ Aws.DynamoDb.Commands.GetItem
43+ Aws.DynamoDb.Commands.PutItem
44+ Aws.DynamoDb.Commands.Query
45+ Aws.DynamoDb.Commands.Scan
46+ Aws.DynamoDb.Commands.Table
47+ Aws.DynamoDb.Commands.UpdateItem
48+ Aws.DynamoDb.Core
49+ Aws.Ec2.InstanceMetadata
50+ Aws.Iam
51+ Aws.Iam.Commands
52+ Aws.Iam.Commands.CreateAccessKey
53+ Aws.Iam.Commands.CreateUser
54+ Aws.Iam.Commands.DeleteAccessKey
55+ Aws.Iam.Commands.DeleteUser
56+ Aws.Iam.Commands.DeleteUserPolicy
57+ Aws.Iam.Commands.GetUser
58+ Aws.Iam.Commands.GetUserPolicy
59+ Aws.Iam.Commands.ListAccessKeys
60+ Aws.Iam.Commands.ListMfaDevices
61+ Aws.Iam.Commands.ListUserPolicies
62+ Aws.Iam.Commands.ListUsers
63+ Aws.Iam.Commands.PutUserPolicy
64+ Aws.Iam.Commands.UpdateAccessKey
65+ Aws.Iam.Commands.UpdateUser
66+ Aws.Iam.Core
67+ Aws.Iam.Internal
68+ Aws.Network
69+ Aws.S3
70+ Aws.S3.Commands
71+ Aws.S3.Commands.CopyObject
72+ Aws.S3.Commands.DeleteBucket
73+ Aws.S3.Commands.DeleteObject
74+ Aws.S3.Commands.DeleteObjectVersion
75+ Aws.S3.Commands.DeleteObjects
76+ Aws.S3.Commands.GetBucket
77+ Aws.S3.Commands.GetBucketLocation
78+ Aws.S3.Commands.GetBucketObjectVersions
79+ Aws.S3.Commands.GetObject
80+ Aws.S3.Commands.GetService
81+ Aws.S3.Commands.HeadObject
82+ Aws.S3.Commands.PutBucket
83+ Aws.S3.Commands.PutObject
84+ Aws.S3.Commands.Multipart
85+ Aws.S3.Core
86+ Aws.Ses
87+ Aws.Ses.Commands
88+ Aws.Ses.Commands.DeleteIdentity
89+ Aws.Ses.Commands.GetIdentityDkimAttributes
90+ Aws.Ses.Commands.GetIdentityNotificationAttributes
91+ Aws.Ses.Commands.GetIdentityVerificationAttributes
92+ Aws.Ses.Commands.ListIdentities
93+ Aws.Ses.Commands.SendRawEmail
94+ Aws.Ses.Commands.SetIdentityDkimEnabled
95+ Aws.Ses.Commands.SetIdentityFeedbackForwardingEnabled
96+ Aws.Ses.Commands.SetIdentityNotificationTopic
97+ Aws.Ses.Commands.VerifyDomainDkim
98+ Aws.Ses.Commands.VerifyDomainIdentity
99+ Aws.Ses.Commands.VerifyEmailIdentity
100+ Aws.Ses.Core
101+ Aws.SimpleDb
102+ Aws.SimpleDb.Commands
103+ Aws.SimpleDb.Commands.Attributes
104+ Aws.SimpleDb.Commands.Domain
105+ Aws.SimpleDb.Commands.Select
106+ Aws.SimpleDb.Core
107+ Aws.Sqs
108+ Aws.Sqs.Commands
109+ Aws.Sqs.Commands.Message
110+ Aws.Sqs.Commands.Permission
111+ Aws.Sqs.Commands.Queue
112+ Aws.Sqs.Commands.QueueAttributes
113+ Aws.Sqs.Core
114+
115+ Build-depends:
116+ aeson >= 0.6,
117+ attoparsec >= 0.11 && < 0.14,
118+ base >= 4.6 && < 5,
119+ base16-bytestring == 0.1.*,
120+ base64-bytestring == 1.0.*,
121+ blaze-builder >= 0.2.1.4 && < 0.5,
122+ byteable == 0.1.*,
123+ bytestring >= 0.9 && < 0.11,
124+ case-insensitive >= 0.2 && < 1.3,
125+ cereal >= 0.3 && < 0.6,
126+ conduit >= 1.1 && < 1.3,
127+ conduit-extra >= 1.1 && < 1.3,
128+ containers >= 0.4,
129+ cryptonite >= 0.11,
130+ data-default >= 0.5.3 && < 0.8,
131+ directory >= 1.0 && < 2.0,
132+ filepath >= 1.1 && < 1.5,
133+ http-conduit >= 2.1 && < 2.3,
134+ http-types >= 0.7 && < 1.0,
135+ lifted-base >= 0.1 && < 0.3,
136+ memory,
137+ monad-control >= 0.3,
138+ mtl == 2.*,
139+ network == 2.*,
140+ old-locale == 1.*,
141+ resourcet >= 1.1 && < 1.2,
142+ safe >= 0.3 && < 0.4,
143+ scientific >= 0.3,
144+ tagged >= 0.7 && < 0.9,
145+ text >= 0.11,
146+ time >= 1.4.0 && < 2.0,
147+ transformers >= 0.2.2 && < 0.6,
148+ unordered-containers >= 0.2,
149+ utf8-string >= 0.3 && < 1.1,
150+ vector >= 0.10,
151+ xml-conduit >= 1.2 && <2.0
152+
153+ if !impl(ghc >= 7.6)
154+ Build-depends: ghc-prim
155+
156+ GHC-Options: -Wall
157+
158+ Default-Language: Haskell2010
159+ Default-Extensions:
160+ RecordWildCards,
161+ TypeFamilies,
162+ MultiParamTypeClasses,
163+ FlexibleContexts,
164+ FlexibleInstances,
165+ FunctionalDependencies,
166+ DeriveFunctor,
167+ DeriveDataTypeable,
168+ OverloadedStrings,
169+ TupleSections,
170+ ScopedTypeVariables,
171+ EmptyDataDecls,
172+ Rank2Types
173+
174+Executable GetObject
175+ Main-is: GetObject.hs
176+ Hs-source-dirs: Examples
177+
178+ if !flag(Examples)
179+ Buildable: False
180+ else
181+ Buildable: True
182+ Build-depends:
183+ base == 4.*,
184+ aws,
185+ http-conduit,
186+ conduit,
187+ conduit-extra
188+
189+ Default-Language: Haskell2010
190+
191+Executable GetObjectGoogle
192+ Main-is: GetObjectGoogle.hs
193+ Hs-source-dirs: Examples
194+
195+ if !flag(Examples)
196+ Buildable: False
197+ else
198+ Buildable: True
199+ Build-depends:
200+ base == 4.*,
201+ aws,
202+ http-conduit,
203+ conduit,
204+ conduit-extra
205+
206+ Default-Language: Haskell2010
207+
208+Executable MultipartUpload
209+ Main-is: MultipartUpload.hs
210+ Hs-source-dirs: Examples
211+
212+ if !flag(Examples)
213+ Buildable: False
214+ else
215+ Buildable: True
216+ Build-depends:
217+ base == 4.*,
218+ aws,
219+ http-conduit,
220+ conduit,
221+ conduit-extra,
222+ text,
223+ resourcet
224+
225+ Default-Language: Haskell2010
226+
227+Executable MultipartTransfer
228+ Main-is: MultipartTransfer.hs
229+ Hs-source-dirs: Examples
230+
231+ if !flag(Examples)
232+ Buildable: False
233+ else
234+ Buildable: True
235+ Build-depends:
236+ base == 4.*,
237+ aws,
238+ http-conduit,
239+ conduit,
240+ conduit-extra,
241+ text
242+
243+ Default-Language: Haskell2010
244+
245+Executable NukeBucket
246+ Main-is: NukeBucket.hs
247+ Hs-source-dirs: Examples
248+
249+ if !flag(Examples)
250+ Buildable: False
251+ else
252+ Buildable: True
253+ Build-depends:
254+ base == 4.*,
255+ aws,
256+ http-conduit,
257+ conduit,
258+ conduit-extra,
259+ text >=0.1,
260+ transformers
261+
262+ Default-Language: Haskell2010
263+
264+Executable PutBucketNearLine
265+ Main-is: PutBucketNearLine.hs
266+ Hs-source-dirs: Examples
267+
268+ if !flag(Examples)
269+ Buildable: False
270+ else
271+ Buildable: True
272+ Build-depends:
273+ base == 4.*,
274+ aws,
275+ http-conduit,
276+ conduit,
277+ conduit-extra,
278+ text >=0.1,
279+ transformers
280+
281+ Default-Language: Haskell2010
282+
283+Executable SimpleDb
284+ Main-is: SimpleDb.hs
285+ Hs-source-dirs: Examples
286+
287+ if !flag(Examples)
288+ Buildable: False
289+ else
290+ Buildable: True
291+ Build-depends:
292+ base == 4.*,
293+ aws,
294+ text >=0.11
295+
296+ Default-Language: Haskell2010
297+
298+Executable DynamoDb
299+ Main-is: DynamoDb.hs
300+ Hs-source-dirs: Examples
301+
302+ if !flag(Examples)
303+ Buildable: False
304+ else
305+ Buildable: True
306+ Build-depends:
307+ aws,
308+ base == 4.*,
309+ data-default,
310+ exceptions,
311+ http-conduit,
312+ text,
313+ conduit
314+
315+ Default-Language: Haskell2010
316+
317+
318+Executable Sqs
319+ Main-is: Sqs.hs
320+ Hs-source-dirs: Examples
321+
322+ if !flag(Examples)
323+ Buildable: False
324+ else
325+ Buildable: True
326+ Build-depends:
327+ base == 4.*,
328+ aws,
329+ errors >= 2.0,
330+ text >=0.11,
331+ transformers >= 0.3
332+
333+ Default-Language: Haskell2010
334+
335+test-suite sqs-tests
336+ type: exitcode-stdio-1.0
337+ default-language: Haskell2010
338+ hs-source-dirs: tests
339+ main-is: Sqs/Main.hs
340+
341+ other-modules:
342+ Utils
343+
344+ build-depends:
345+ QuickCheck >= 2.7,
346+ aeson >= 0.7,
347+ aws,
348+ base == 4.*,
349+ bytestring >= 0.10,
350+ errors >= 2.0,
351+ http-client >= 0.3 && < 0.6,
352+ lifted-base >= 0.2,
353+ monad-control >= 0.3,
354+ mtl >= 2.1,
355+ quickcheck-instances >= 0.3,
356+ resourcet >= 1.1,
357+ tagged >= 0.7,
358+ tasty >= 0.8,
359+ tasty-quickcheck >= 0.8,
360+ text >= 1.1,
361+ time,
362+ transformers >= 0.3,
363+ transformers-base >= 0.4
364+
365+ ghc-options: -Wall -threaded
366+
367+test-suite dynamodb-tests
368+ type: exitcode-stdio-1.0
369+ default-language: Haskell2010
370+ hs-source-dirs: tests
371+ main-is: DynamoDb/Main.hs
372+
373+ other-modules:
374+ Utils
375+ DynamoDb.Utils
376+
377+ build-depends:
378+ QuickCheck >= 2.7,
379+ aeson >= 0.7,
380+ aws,
381+ base == 4.*,
382+ bytestring >= 0.10,
383+ errors >= 2.0,
384+ http-client >= 0.3,
385+ lifted-base >= 0.2,
386+ monad-control >= 0.3,
387+ mtl >= 2.1,
388+ quickcheck-instances >= 0.3,
389+ resourcet >= 1.1,
390+ tagged >= 0.7,
391+ tasty >= 0.8,
392+ tasty-quickcheck >= 0.8,
393+ text >= 1.1,
394+ time,
395+ transformers >= 0.3,
396+ transformers-base >= 0.4
397+
398+
399+test-suite s3-tests
400+ type: exitcode-stdio-1.0
401+ default-language: Haskell2010
402+ hs-source-dirs: tests
403+ main-is: S3/Main.hs
404+
405+ other-modules:
406+ Utils
407+
408+ build-depends:
409+ aws,
410+ base == 4.*,
411+ QuickCheck >= 2.7,
412+ aeson >= 0.7,
413+ bytestring,
414+ conduit-combinators,
415+ errors >= 2.0,
416+ lifted-base >= 0.2,
417+ monad-control >= 0.3,
418+ mtl >= 2.1,
419+ http-client < 0.6,
420+ http-client-tls < 0.5,
421+ http-types,
422+ resourcet,
423+ tasty >= 0.8,
424+ tasty-hunit >= 0.8,
425+ tasty-quickcheck >= 0.8,
426+ text,
427+ time,
428+ tagged >= 0.7,
429+ transformers >= 0.3,
430+ transformers-base >= 0.4
test/golden-test-cases/aws.nix.goldennew file+35
@@ -0,0 +1,35 @@
1+{ mkDerivation, aeson, attoparsec, base, base16-bytestring
2+, base64-bytestring, blaze-builder, byteable, bytestring
3+, case-insensitive, cereal, conduit, conduit-combinators
4+, conduit-extra, containers, cryptonite, data-default, directory
5+, errors, filepath, http-client, http-client-tls, http-conduit
6+, http-types, lifted-base, memory, monad-control, mtl, network
7+, old-locale, QuickCheck, quickcheck-instances, resourcet, safe
8+, scientific, stdenv, tagged, tasty, tasty-hunit, tasty-quickcheck
9+, text, time, transformers, transformers-base, unordered-containers
10+, utf8-string, vector, xml-conduit
11+}:
12+mkDerivation {
13+ pname = "aws";
14+ version = "0.18";
15+ sha256 = "deadbeef";
16+ isLibrary = true;
17+ isExecutable = true;
18+ libraryHaskellDepends = [
19+ aeson attoparsec base base16-bytestring base64-bytestring
20+ blaze-builder byteable bytestring case-insensitive cereal conduit
21+ conduit-extra containers cryptonite data-default directory filepath
22+ http-conduit http-types lifted-base memory monad-control mtl
23+ network old-locale resourcet safe scientific tagged text time
24+ transformers unordered-containers utf8-string vector xml-conduit
25+ ];
26+ testHaskellDepends = [
27+ aeson base bytestring conduit-combinators errors http-client
28+ http-client-tls http-types lifted-base monad-control mtl QuickCheck
29+ quickcheck-instances resourcet tagged tasty tasty-hunit
30+ tasty-quickcheck text time transformers transformers-base
31+ ];
32+ homepage = "http://github.com/aristidb/aws";
33+ description = "Amazon Web Services (AWS) for Haskell";
34+ license = stdenv.lib.licenses.bsd3;
35+}
test/golden-test-cases/bbdb.cabalnew file+54
@@ -0,0 +1,54 @@
1+Name: bbdb
2+Version: 0.8
3+Synopsis: Ability to read, write, and modify BBDB files
4+Description: BBDB (http://savannah.nongnu.org/projects/bbdb/) is a
5+ contact management utility that can be used with
6+ emacs. It stores its data internally as a lisp
7+ expression. This module parses the lisp and
8+ provides some convenience functions to get at and
9+ manipulate the data all from within Haskell. See
10+ the hackage docs for usage and examples.
11+
12+Homepage: https://github.com/henrylaxen/bbdb
13+License: GPL-3
14+License-file: LICENSE
15+Author: Henry Laxen
16+Copyright: Henry Laxen
17+Maintainer: nadine.and.henry@pobox.com
18+Stability: stable
19+Bug-reports: mailto:nadine.and.henry@pobox.com
20+Category: Database
21+Build-type: Simple
22+Extra-source-files: changelog.md
23+ LICENSE
24+ README.md
25+ test/sampleData.txt
26+
27+Cabal-version: >=1.10
28+
29+Library
30+ Exposed-modules: Database.BBDB
31+ hs-source-dirs: src
32+ ghc-options: -Wall
33+ default-language: Haskell2010
34+ default-extensions: FlexibleInstances,
35+ MultiParamTypeClasses,
36+ OverloadedStrings
37+ Build-depends:
38+ base >= 3 && <= 5,
39+ parsec >= 3
40+
41+Test-Suite bbdb-tests
42+ Type: exitcode-stdio-1.0
43+ Main-is: Spec.hs
44+ hs-source-dirs: src,test
45+ Other-modules: Database.BBDB,
46+ BBDBSpec
47+ default-language: Haskell2010
48+ default-extensions: FlexibleInstances,
49+ MultiParamTypeClasses,
50+ OverloadedStrings
51+ Build-depends:
52+ base >= 3 && <= 5,
53+ hspec,
54+ parsec >= 3
test/golden-test-cases/bbdb.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, hspec, parsec, stdenv }:
2+mkDerivation {
3+ pname = "bbdb";
4+ version = "0.8";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base parsec ];
7+ testHaskellDepends = [ base hspec parsec ];
8+ homepage = "https://github.com/henrylaxen/bbdb";
9+ description = "Ability to read, write, and modify BBDB files";
10+ license = stdenv.lib.licenses.gpl3;
11+}
test/golden-test-cases/benchpress.cabalnew file+41
@@ -0,0 +1,41 @@
1+name: benchpress
2+version: 0.2.2.10
3+synopsis: Micro-benchmarking with detailed statistics.
4+Description: Benchmarks actions and produces statistics
5+ such as min, mean, median, standard deviation,
6+ and max execution time. Also computes
7+ execution time percentiles. Comes with
8+ functions to pretty-print the results.
9+license: BSD3
10+license-file: LICENSE
11+author: Johan Tibell
12+maintainer: me@willsewell.com
13+build-type: Simple
14+cabal-version: >= 1.2
15+category: Testing
16+homepage: https://github.com/WillSewell/benchpress
17+
18+library
19+ exposed-modules: Test.BenchPress
20+
21+ other-modules: Math.Statistics
22+
23+ build-depends: base >= 2.0 && < 4.11,
24+ mtl >= 1 && < 2.3,
25+ time >= 1 && < 1.10
26+
27+ ghc-options: -funbox-strict-fields -Wall
28+
29+executable example
30+ main-is: Main.hs
31+
32+ -- This is not in build-depends for cabal 1.2 compatibility (requires 1.8)
33+ other-modules: Test.BenchPress
34+ Math.Statistics
35+
36+ hs-source-dirs: example, .
37+
38+ build-depends: base,
39+ bytestring
40+
41+ ghc-options: -funbox-strict-fields -Wall
test/golden-test-cases/benchpress.nix.goldennew file+13
@@ -0,0 +1,13 @@
1+{ mkDerivation, base, bytestring, mtl, stdenv, time }:
2+mkDerivation {
3+ pname = "benchpress";
4+ version = "0.2.2.10";
5+ sha256 = "deadbeef";
6+ isLibrary = true;
7+ isExecutable = true;
8+ libraryHaskellDepends = [ base mtl time ];
9+ executableHaskellDepends = [ base bytestring ];
10+ homepage = "https://github.com/WillSewell/benchpress";
11+ description = "Micro-benchmarking with detailed statistics";
12+ license = stdenv.lib.licenses.bsd3;
13+}
test/golden-test-cases/binary-bits.cabalnew file+44
@@ -0,0 +1,44 @@
1+-- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/
2+name: binary-bits
3+version: 0.5
4+synopsis: Bit parsing/writing on top of binary.
5+description: Bit parsing/writing on top of binary. Provides functions to
6+ read and write bits to and from 8\/16\/32\/64 words.
7+license: BSD3
8+license-file: LICENSE
9+author: Lennart Kolmodin <kolmodin@gmail.com>
10+maintainer: Lennart Kolmodin <kolmodin@gmail.com>
11+category: Data, Parsing
12+build-type: Simple
13+
14+cabal-version: >=1.10
15+
16+source-repository head
17+ type: git
18+ location: git://github.com/kolmodin/binary-bits.git
19+
20+library
21+ build-depends: base==4.*, binary >= 0.6.0.0, bytestring
22+
23+ other-extensions: RankNTypes, MagicHash, BangPatterns, CPP
24+
25+ exposed-modules: Data.Binary.Bits ,
26+ Data.Binary.Bits.Put ,
27+ Data.Binary.Bits.Get
28+
29+ default-language: Haskell98
30+
31+ ghc-options: -O2 -Wall
32+
33+test-suite qc
34+ type: exitcode-stdio-1.0
35+ main-is: BitsQC.hs
36+ default-language: Haskell98
37+
38+ build-depends: base==4.*, binary >= 0.6.0.0, bytestring,
39+ QuickCheck>=2, random,
40+ test-framework,
41+ test-framework-quickcheck2
42+
43+ other-extensions: RankNTypes, MagicHash, BangPatterns, CPP,
44+ FlexibleInstances, FlexibleContexts, TupleSections
test/golden-test-cases/binary-bits.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, base, binary, bytestring, QuickCheck, random
2+, stdenv, test-framework, test-framework-quickcheck2
3+}:
4+mkDerivation {
5+ pname = "binary-bits";
6+ version = "0.5";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base binary bytestring ];
9+ testHaskellDepends = [
10+ base binary bytestring QuickCheck random test-framework
11+ test-framework-quickcheck2
12+ ];
13+ description = "Bit parsing/writing on top of binary";
14+ license = stdenv.lib.licenses.bsd3;
15+}
test/golden-test-cases/binary-tagged.cabalnew file+121
@@ -0,0 +1,121 @@
1+-- This file has been generated from package.yaml by hpack version 0.14.1.
2+--
3+-- see: https://github.com/sol/hpack
4+
5+name: binary-tagged
6+version: 0.1.4.2
7+synopsis: Tagged binary serialisation.
8+description: Check <https://github.com/phadej/binary-tagged#readme README on Github>
9+category: Web
10+homepage: https://github.com/phadej/binary-tagged#readme
11+bug-reports: https://github.com/phadej/binary-tagged/issues
12+author: Oleg Grenrus <oleg.grenrus@iki.fi>
13+maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
14+license: BSD3
15+license-file: LICENSE
16+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.1
17+build-type: Simple
18+cabal-version: >= 1.10
19+
20+extra-source-files:
21+ CHANGELOG.md
22+ README.md
23+
24+source-repository head
25+ type: git
26+ location: https://github.com/phadej/binary-tagged
27+
28+library
29+ hs-source-dirs:
30+ src
31+ ghc-options: -Wall
32+ build-depends:
33+ base >=4.7 && <4.10
34+ , aeson >=0.8 && <1.1
35+ , array >=0.5 && <0.6
36+ , base16-bytestring >=0.1.1.6 && <0.2
37+ , binary >=0.7 && <0.9
38+ , bytestring >=0.10 && <0.11
39+ , containers >=0.5 && <0.6
40+ , generics-sop >=0.1 && <0.3
41+ , hashable >=1.2 && <1.3
42+ , nats >=1 && <1.2
43+ , scientific >=0.3 && <0.4
44+ , SHA >=1.6 && <1.7
45+ , semigroups >=0.16 && <0.19
46+ , tagged >=0.7 && <0.9
47+ , text >=1.2 && <1.3
48+ , time >=1.4 && <1.7
49+ , unordered-containers >=0.2 && <0.3
50+ , vector >=0.10 && <0.12
51+ exposed-modules:
52+ Data.Binary.Tagged
53+ default-language: Haskell2010
54+
55+test-suite binary-tagged-test
56+ type: exitcode-stdio-1.0
57+ main-is: Tests.hs
58+ hs-source-dirs:
59+ test
60+ ghc-options: -Wall
61+ build-depends:
62+ base >=4.7 && <4.10
63+ , aeson >=0.8 && <1.1
64+ , array >=0.5 && <0.6
65+ , base16-bytestring >=0.1.1.6 && <0.2
66+ , binary >=0.7 && <0.9
67+ , bytestring >=0.10 && <0.11
68+ , containers >=0.5 && <0.6
69+ , generics-sop >=0.1 && <0.3
70+ , hashable >=1.2 && <1.3
71+ , nats >=1 && <1.2
72+ , scientific >=0.3 && <0.4
73+ , SHA >=1.6 && <1.7
74+ , semigroups >=0.16 && <0.19
75+ , tagged >=0.7 && <0.9
76+ , text >=1.2 && <1.3
77+ , time >=1.4 && <1.7
78+ , unordered-containers >=0.2 && <0.3
79+ , vector >=0.10 && <0.12
80+ , binary-tagged
81+ , binary-orphans >=0.1.1
82+ , bifunctors
83+ , quickcheck-instances
84+ , tasty
85+ , tasty-quickcheck
86+ other-modules:
87+ Generators
88+ Rec1
89+ Rec2
90+ default-language: Haskell2010
91+
92+benchmark binary-tagged-bench
93+ type: exitcode-stdio-1.0
94+ main-is: Bench.hs
95+ hs-source-dirs:
96+ bench
97+ ghc-options: -Wall
98+ build-depends:
99+ base >=4.7 && <4.10
100+ , aeson >=0.8 && <1.1
101+ , array >=0.5 && <0.6
102+ , base16-bytestring >=0.1.1.6 && <0.2
103+ , binary >=0.7 && <0.9
104+ , bytestring >=0.10 && <0.11
105+ , containers >=0.5 && <0.6
106+ , generics-sop >=0.1 && <0.3
107+ , hashable >=1.2 && <1.3
108+ , nats >=1 && <1.2
109+ , scientific >=0.3 && <0.4
110+ , SHA >=1.6 && <1.7
111+ , semigroups >=0.16 && <0.19
112+ , tagged >=0.7 && <0.9
113+ , text >=1.2 && <1.3
114+ , time >=1.4 && <1.7
115+ , unordered-containers >=0.2 && <0.3
116+ , vector >=0.10 && <0.12
117+ , binary-tagged
118+ , binary-orphans >=0.1.1
119+ , deepseq
120+ , criterion
121+ default-language: Haskell2010
test/golden-test-cases/binary-tagged.nix.goldennew file+30
@@ -0,0 +1,30 @@
1+{ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
2+, binary, binary-orphans, bytestring, containers, criterion
3+, deepseq, generics-sop, hashable, nats, quickcheck-instances
4+, scientific, semigroups, SHA, stdenv, tagged, tasty
5+, tasty-quickcheck, text, time, unordered-containers, vector
6+}:
7+mkDerivation {
8+ pname = "binary-tagged";
9+ version = "0.1.4.2";
10+ sha256 = "deadbeef";
11+ libraryHaskellDepends = [
12+ aeson array base base16-bytestring binary bytestring containers
13+ generics-sop hashable nats scientific semigroups SHA tagged text
14+ time unordered-containers vector
15+ ];
16+ testHaskellDepends = [
17+ aeson array base base16-bytestring bifunctors binary binary-orphans
18+ bytestring containers generics-sop hashable nats
19+ quickcheck-instances scientific semigroups SHA tagged tasty
20+ tasty-quickcheck text time unordered-containers vector
21+ ];
22+ benchmarkHaskellDepends = [
23+ aeson array base base16-bytestring binary binary-orphans bytestring
24+ containers criterion deepseq generics-sop hashable nats scientific
25+ semigroups SHA tagged text time unordered-containers vector
26+ ];
27+ homepage = "https://github.com/phadej/binary-tagged#readme";
28+ description = "Tagged binary serialisation";
29+ license = stdenv.lib.licenses.bsd3;
30+}
test/golden-test-cases/bindings-uname.cabalnew file+30
@@ -0,0 +1,30 @@
1+Name: bindings-uname
2+Version: 0.1
3+Synopsis: Low-level binding to POSIX uname(3)
4+Description:
5+ This is a low-level binding to POSIX uname(3)
6+ function. Perhaps it shoule be part of unix package.
7+Category: FFI, System
8+License: PublicDomain
9+Author: PHO <pho at cielonegro.org>
10+Maintainer: PHO <pho at cielonegro.org>
11+Stability: Experimental
12+Cabal-Version: >= 1.6
13+Build-Type: Simple
14+
15+Source-Repository head
16+ Type: git
17+ Location: git://git.cielonegro.org/bindings-uname
18+
19+Library
20+ Build-Depends:
21+ base < 5
22+
23+ Exposed-Modules:
24+ Bindings.Uname
25+
26+ Extensions:
27+ EmptyDataDecls, ForeignFunctionInterface
28+
29+ GHC-Options:
30+ -Wall
test/golden-test-cases/bindings-uname.nix.goldennew file+9
@@ -0,0 +1,9 @@
1+{ mkDerivation, base, stdenv }:
2+mkDerivation {
3+ pname = "bindings-uname";
4+ version = "0.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base ];
7+ description = "Low-level binding to POSIX uname(3)";
8+ license = stdenv.lib.licenses.publicDomain;
9+}
test/golden-test-cases/bioalign.cabalnew file+23
@@ -0,0 +1,23 @@
1+Name: bioalign
2+Version: 0.0.5
3+Synopsis: Data structures and helper functions for calculating alignments
4+Description: Data structures and helper functions for calculating alignments
5+Homepage: https://patch-tag.com/r/dfornika/biophd/home
6+License: GPL
7+License-file: LICENSE
8+Cabal-Version: >=1.6
9+Author: Dan Fornika <dfornika@gmail.com>
10+Maintainer: dfornika@gmail.com
11+Stability: Provisional
12+Category: Bioinformatics
13+Build-Type: Simple
14+
15+Library
16+ Build-depends: base >= 2 && < 5, biocore, bytestring
17+ Exposed-modules: Bio.Alignment.AlignData
18+ Hs-source-dirs: src
19+
20+source-Repository head
21+ type: darcs
22+ location: http://www.patch-tag.com/r/dfornika/bioalign
23+
test/golden-test-cases/bioalign.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, biocore, bytestring, stdenv }:
2+mkDerivation {
3+ pname = "bioalign";
4+ version = "0.0.5";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base biocore bytestring ];
7+ homepage = "https://patch-tag.com/r/dfornika/biophd/home";
8+ description = "Data structures and helper functions for calculating alignments";
9+ license = "GPL";
10+}
test/golden-test-cases/bits.cabalnew file+73
@@ -0,0 +1,73 @@
1+name: bits
2+category: Data, Serialization
3+version: 0.5.1
4+license: BSD3
5+cabal-version: >= 1.8
6+license-file: LICENSE
7+author: Edward A. Kmett
8+maintainer: Edward A. Kmett <ekmett@gmail.com>
9+stability: experimental
10+homepage: http://github.com/ekmett/bits
11+bug-reports: http://github.com/ekmett/bits/issues
12+copyright: Copyright (C) 2013 Edward A. Kmett
13+build-type: Custom
14+tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1
15+synopsis: Various bit twiddling and bitwise serialization primitives
16+description: Various bit twiddling and bitwise serialization primitives
17+
18+extra-source-files:
19+ .travis.yml
20+ .ghci
21+ .gitignore
22+ .vim.custom
23+ travis/cabal-apt-install
24+ travis/config
25+ AUTHORS.markdown
26+ README.markdown
27+ CHANGELOG.markdown
28+
29+source-repository head
30+ type: git
31+ location: git://github.com/ekmett/bits.git
32+
33+custom-setup
34+ setup-depends:
35+ base >= 4 && < 5,
36+ Cabal,
37+ cabal-doctest >= 1 && < 1.1
38+
39+-- You can disable the doctests test suite with -f-test-doctests
40+flag test-doctests
41+ default: True
42+ manual: True
43+
44+library
45+ build-depends:
46+ base >= 4.7 && < 5,
47+ bytes >= 0.11 && < 1,
48+ mtl >= 2.0 && < 2.3,
49+ transformers >= 0.2 && < 0.6
50+
51+ exposed-modules:
52+ Data.Bits.Coding
53+ Data.Bits.Coded
54+ Data.Bits.Extras
55+
56+ c-sources: cbits/debruijn.c
57+ ghc-options: -Wall -fwarn-tabs -O2
58+ hs-source-dirs: src
59+
60+test-suite doctests
61+ type: exitcode-stdio-1.0
62+ main-is: doctests.hs
63+ ghc-options: -Wall -threaded
64+ hs-source-dirs: tests
65+ c-sources: cbits/debruijn.c
66+
67+ if !flag(test-doctests)
68+ buildable: False
69+ else
70+ build-depends:
71+ base,
72+ bits,
73+ doctest >= 0.11.1 && < 0.12
test/golden-test-cases/bits.nix.goldennew file+14
@@ -0,0 +1,14 @@
1+{ mkDerivation, base, bytes, Cabal, cabal-doctest, doctest, mtl
2+, stdenv, transformers
3+}:
4+mkDerivation {
5+ pname = "bits";
6+ version = "0.5.1";
7+ sha256 = "deadbeef";
8+ setupHaskellDepends = [ base Cabal cabal-doctest ];
9+ libraryHaskellDepends = [ base bytes mtl transformers ];
10+ testHaskellDepends = [ base doctest ];
11+ homepage = "http://github.com/ekmett/bits";
12+ description = "Various bit twiddling and bitwise serialization primitives";
13+ license = stdenv.lib.licenses.bsd3;
14+}
test/golden-test-cases/blank-canvas.cabalnew file+172
@@ -0,0 +1,172 @@
1+Name: blank-canvas
2+Version: 0.6.1
3+Synopsis: HTML5 Canvas Graphics Library
4+
5+Description: @blank-canvas@ is a Haskell binding to the complete
6+ <https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API HTML5 Canvas API>.
7+ @blank-canvas@ allows Haskell users to write, in Haskell,
8+ interactive images onto their web browsers. @blank-canvas@
9+ gives the user a single full-window canvas, and provides
10+ many well-documented functions for rendering
11+ images.
12+ .
13+ @
14+ &#123;-&#35; LANGUAGE OverloadedStrings &#35;-&#125;
15+ module Main where
16+ import Graphics.Blank -- import the blank canvas
17+ .
18+ main = blankCanvas 3000 $ \\ context -> do -- start blank canvas on port 3000
19+ &#32;&#32;send context $ do -- send commands to this specific context
20+ &#32;&#32;&#32;&#32;moveTo(50,50)
21+ &#32;&#32;&#32;&#32;lineTo(200,100)
22+ &#32;&#32;&#32;&#32;lineWidth 10
23+ &#32;&#32;&#32;&#32;strokeStyle \"red\"
24+ &#32;&#32;&#32;&#32;stroke() -- this draws the ink into the canvas
25+ @
26+ .
27+ <<https://github.com/ku-fpg/blank-canvas/wiki/images/Red_Line.png>>
28+ .
29+ For more details, read the <https://github.com/ku-fpg/blank-canvas/wiki blank-canvas wiki>.
30+ .
31+License: BSD3
32+License-file: LICENSE
33+Author: Andy Gill and Ryan Scott
34+Maintainer: andygill@ku.edu
35+Copyright: Copyright (c) 2014 The University of Kansas
36+Homepage: https://github.com/ku-fpg/blank-canvas/wiki
37+Bug-reports: https://github.com/ku-fpg/blank-canvas/issues
38+Category: Graphics
39+Build-type: Simple
40+Stability: Beta
41+Extra-source-files: README.md
42+ Changelog.md
43+Cabal-version: >= 1.10
44+tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2
45+data-files:
46+ static/index.html
47+ static/jquery.js
48+ static/jquery-json.js
49+
50+
51+Library
52+ Exposed-modules: Graphics.Blank
53+ Graphics.Blank.Cursor
54+ Graphics.Blank.Font
55+ Graphics.Blank.GHCi
56+ Graphics.Blank.Style
57+ other-modules: Graphics.Blank.Canvas
58+ Graphics.Blank.DeviceContext
59+ Graphics.Blank.Events
60+ Graphics.Blank.Generated
61+ Graphics.Blank.JavaScript
62+ Graphics.Blank.Parser
63+ Graphics.Blank.Types
64+ Graphics.Blank.Types.CSS
65+ Graphics.Blank.Types.Cursor
66+ Graphics.Blank.Types.Font
67+ Graphics.Blank.Utils
68+ Paths_blank_canvas
69+
70+ default-language: Haskell2010
71+ build-depends: aeson >= 0.7 && < 1.3,
72+ base64-bytestring == 1.0.*,
73+ base >= 4.7 && < 4.11,
74+ base-compat >= 0.8.1 && < 1,
75+ bytestring == 0.10.*,
76+ colour >= 2.2 && < 3.0,
77+ containers == 0.5.*,
78+ data-default-class >= 0.0.1 && < 0.2,
79+ http-types >= 0.8 && < 0.10,
80+ mime-types >= 0.1.0.3 && < 0.2,
81+ kansas-comet >= 0.4 && < 0.5,
82+ scotty >= 0.10 && < 0.12,
83+ stm >= 2.2 && < 2.5,
84+ text >= 1.1 && < 1.3,
85+ text-show >= 2 && < 4,
86+ transformers >= 0.3 && < 0.6,
87+ wai == 3.*,
88+ wai-extra >= 3.0.1 && < 3.1,
89+ warp == 3.*,
90+ vector >= 0.10 && < 0.13
91+
92+ GHC-options: -Wall
93+ GHC-prof-options: -Wall -fsimpl-tick-factor=100000
94+
95+
96+test-suite wiki-suite
97+ build-depends: base >= 4.7 && < 4.11,
98+ blank-canvas,
99+ containers == 0.5.*,
100+ process >= 1.2 && < 1.7,
101+ directory >= 1.2,
102+ shake >= 0.13,
103+ stm >= 2.2 && < 2.5,
104+ text >= 1.1 && < 1.3,
105+ time >= 1.4 && < 1.9,
106+ unix == 2.7.*,
107+ vector >= 0.10 && < 0.13
108+
109+ default-language: Haskell2010
110+ GHC-options: -threaded -Wall
111+ main-is: Main.hs
112+ hs-source-dirs: wiki-suite
113+ type: exitcode-stdio-1.0
114+ other-modules: Arc
115+ Bezier_Curve
116+ Bounce
117+ Circle
118+ Clipping_Region
119+ Color_Fill
120+ Color_Square
121+ Custom_Shape
122+ Custom_Transform
123+ Draw_Canvas
124+ Draw_Device
125+ Draw_Image
126+ Favicon
127+ Font_Size_and_Style
128+ Get_Image_Data_URL
129+ Global_Alpha
130+ Global_Composite_Operations
131+ Grayscale
132+ Image_Crop
133+ Image_Loader
134+ Image_Size
135+ Is_Point_In_Path
136+ Key_Read
137+ Line
138+ Line_Cap
139+ Line_Color
140+ Line_Join
141+ Line_Width
142+ Linear_Gradient
143+ Load_Image_Data_URL
144+ Load_Image_Data_URL_2
145+ Miter_Limit
146+ Path
147+ Pattern
148+ Quadratic_Curve
149+ Radial_Gradient
150+ Rectangle
151+ Red_Line
152+ Rotate_Transform
153+ Rotating_Square
154+ Rounded_Corners
155+ Scale_Transform
156+ Semicircle
157+ Shadow
158+ Square
159+ Text_Align
160+ Text_Baseline
161+ Text_Color
162+ Text_Metrics
163+ Text_Stroke
164+ Text_Wrap
165+ Tic_Tac_Toe
166+ Translate_Transform
167+ Wiki
168+
169+
170+source-repository head
171+ type: git
172+ location: https://github.com/ku-fpg/blank-canvas.git
test/golden-test-cases/blank-canvas.nix.goldennew file+23
@@ -0,0 +1,23 @@
1+{ mkDerivation, aeson, base, base-compat, base64-bytestring
2+, bytestring, colour, containers, data-default-class, directory
3+, http-types, kansas-comet, mime-types, process, scotty, shake
4+, stdenv, stm, text, text-show, time, transformers, unix, vector
5+, wai, wai-extra, warp
6+}:
7+mkDerivation {
8+ pname = "blank-canvas";
9+ version = "0.6.1";
10+ sha256 = "deadbeef";
11+ enableSeparateDataOutput = true;
12+ libraryHaskellDepends = [
13+ aeson base base-compat base64-bytestring bytestring colour
14+ containers data-default-class http-types kansas-comet mime-types
15+ scotty stm text text-show transformers vector wai wai-extra warp
16+ ];
17+ testHaskellDepends = [
18+ base containers directory process shake stm text time unix vector
19+ ];
20+ homepage = "https://github.com/ku-fpg/blank-canvas/wiki";
21+ description = "HTML5 Canvas Graphics Library";
22+ license = stdenv.lib.licenses.bsd3;
23+}
test/golden-test-cases/blaze-html.cabalnew file+87
@@ -0,0 +1,87 @@
1+Name: blaze-html
2+Version: 0.9.0.1
3+Homepage: http://jaspervdj.be/blaze
4+Bug-Reports: http://github.com/jaspervdj/blaze-html/issues
5+License: BSD3
6+License-file: LICENSE
7+Author: Jasper Van der Jeugt, Simon Meier
8+Maintainer: Jasper Van der Jeugt <m@jaspervdj.be>
9+Stability: Experimental
10+Category: Text
11+Synopsis: A blazingly fast HTML combinator library for Haskell
12+Description:
13+ A blazingly fast HTML combinator library for the Haskell
14+ programming language. The Text.Blaze module is a good
15+ starting point, as well as this tutorial:
16+ <http://jaspervdj.be/blaze/tutorial.html>.
17+
18+Build-type: Simple
19+Cabal-version: >= 1.8
20+
21+Extra-source-files:
22+ CHANGELOG
23+ src/Util/Sanitize.hs
24+ src/Util/GenerateHtmlCombinators.hs
25+
26+Library
27+ Hs-source-dirs: src
28+ Ghc-Options: -Wall
29+
30+ Exposed-modules:
31+ Text.Blaze.Html
32+ Text.Blaze.Html.Renderer.Pretty
33+ Text.Blaze.Html.Renderer.String
34+ Text.Blaze.Html.Renderer.Text
35+ Text.Blaze.Html.Renderer.Utf8
36+ Text.Blaze.Html4.FrameSet
37+ Text.Blaze.Html4.FrameSet.Attributes
38+ Text.Blaze.Html4.Strict
39+ Text.Blaze.Html4.Strict.Attributes
40+ Text.Blaze.Html4.Transitional
41+ Text.Blaze.Html4.Transitional.Attributes
42+ Text.Blaze.Html5
43+ Text.Blaze.Html5.Attributes
44+ Text.Blaze.XHtml1.FrameSet
45+ Text.Blaze.XHtml1.FrameSet.Attributes
46+ Text.Blaze.XHtml1.Strict
47+ Text.Blaze.XHtml1.Strict.Attributes
48+ Text.Blaze.XHtml1.Transitional
49+ Text.Blaze.XHtml1.Transitional.Attributes
50+ Text.Blaze.XHtml5
51+ Text.Blaze.XHtml5.Attributes
52+
53+ Build-depends:
54+ base >= 4 && < 5,
55+ blaze-builder >= 0.3 && < 0.5,
56+ blaze-markup >= 0.8 && < 0.9,
57+ bytestring >= 0.9 && < 0.11,
58+ text >= 0.10 && < 1.3
59+
60+Test-suite blaze-html-tests
61+ Type: exitcode-stdio-1.0
62+ Hs-source-dirs: src tests
63+ Main-is: TestSuite.hs
64+ Ghc-options: -Wall
65+
66+ Other-modules:
67+ Text.Blaze.Html.Tests
68+ Text.Blaze.Html.Tests.Util
69+ Util.Tests
70+
71+ Build-depends:
72+ HUnit >= 1.2 && < 1.6,
73+ QuickCheck >= 2.4 && < 2.10,
74+ containers >= 0.3 && < 0.6,
75+ test-framework >= 0.4 && < 0.9,
76+ test-framework-hunit >= 0.3 && < 0.4,
77+ test-framework-quickcheck2 >= 0.3 && < 0.4,
78+ -- Copied from regular dependencies...
79+ base >= 4 && < 5,
80+ blaze-builder >= 0.3 && < 0.5,
81+ blaze-markup >= 0.8 && < 0.9,
82+ bytestring >= 0.9 && < 0.11,
83+ text >= 0.10 && < 1.3
84+
85+Source-repository head
86+ Type: git
87+ Location: http://github.com/jaspervdj/blaze-html.git
test/golden-test-cases/blaze-html.nix.goldennew file+20
@@ -0,0 +1,20 @@
1+{ mkDerivation, base, blaze-builder, blaze-markup, bytestring
2+, containers, HUnit, QuickCheck, stdenv, test-framework
3+, test-framework-hunit, test-framework-quickcheck2, text
4+}:
5+mkDerivation {
6+ pname = "blaze-html";
7+ version = "0.9.0.1";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ base blaze-builder blaze-markup bytestring text
11+ ];
12+ testHaskellDepends = [
13+ base blaze-builder blaze-markup bytestring containers HUnit
14+ QuickCheck test-framework test-framework-hunit
15+ test-framework-quickcheck2 text
16+ ];
17+ homepage = "http://jaspervdj.be/blaze";
18+ description = "A blazingly fast HTML combinator library for Haskell";
19+ license = stdenv.lib.licenses.bsd3;
20+}
test/golden-test-cases/blaze-markup.cabalnew file+67
@@ -0,0 +1,67 @@
1+Name: blaze-markup
2+Version: 0.8.0.0
3+Homepage: http://jaspervdj.be/blaze
4+Bug-Reports: http://github.com/jaspervdj/blaze-markup/issues
5+License: BSD3
6+License-file: LICENSE
7+Author: Jasper Van der Jeugt, Simon Meier, Deepak Jois
8+Maintainer: Jasper Van der Jeugt <m@jaspervdj.be>
9+Stability: Experimental
10+Category: Text
11+Synopsis: A blazingly fast markup combinator library for Haskell
12+Description:
13+ Core modules of a blazingly fast markup combinator library for the Haskell
14+ programming language. The Text.Blaze module is a good
15+ starting point, as well as this tutorial:
16+ <http://jaspervdj.be/blaze/tutorial.html>.
17+
18+Build-type: Simple
19+Cabal-version: >= 1.8
20+
21+Extra-source-files:
22+ CHANGELOG
23+
24+Library
25+ Hs-source-dirs: src
26+ Ghc-Options: -Wall
27+
28+ Exposed-modules:
29+ Text.Blaze
30+ Text.Blaze.Internal
31+ Text.Blaze.Renderer.Pretty
32+ Text.Blaze.Renderer.String
33+ Text.Blaze.Renderer.Text
34+ Text.Blaze.Renderer.Utf8
35+
36+ Build-depends:
37+ base >= 4 && < 5,
38+ blaze-builder >= 0.3 && < 0.5,
39+ text >= 0.10 && < 1.3,
40+ bytestring >= 0.9 && < 0.11
41+
42+Test-suite blaze-markup-tests
43+ Type: exitcode-stdio-1.0
44+ Hs-source-dirs: src tests
45+ Main-is: TestSuite.hs
46+ Ghc-options: -Wall
47+
48+ Other-modules:
49+ Text.Blaze.Tests
50+ Text.Blaze.Tests.Util
51+
52+ Build-depends:
53+ HUnit >= 1.2 && < 1.6,
54+ QuickCheck >= 2.4 && < 2.10,
55+ containers >= 0.3 && < 0.6,
56+ test-framework >= 0.4 && < 0.9,
57+ test-framework-hunit >= 0.3 && < 0.4,
58+ test-framework-quickcheck2 >= 0.3 && < 0.4,
59+ -- Copied from regular dependencies...
60+ base >= 4 && < 5,
61+ blaze-builder >= 0.3 && < 0.5,
62+ text >= 0.10 && < 1.3,
63+ bytestring >= 0.9 && < 0.11
64+
65+Source-repository head
66+ Type: git
67+ Location: http://github.com/jaspervdj/blaze-markup
test/golden-test-cases/blaze-markup.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, base, blaze-builder, bytestring, containers, HUnit
2+, QuickCheck, stdenv, test-framework, test-framework-hunit
3+, test-framework-quickcheck2, text
4+}:
5+mkDerivation {
6+ pname = "blaze-markup";
7+ version = "0.8.0.0";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [ base blaze-builder bytestring text ];
10+ testHaskellDepends = [
11+ base blaze-builder bytestring containers HUnit QuickCheck
12+ test-framework test-framework-hunit test-framework-quickcheck2 text
13+ ];
14+ homepage = "http://jaspervdj.be/blaze";
15+ description = "A blazingly fast markup combinator library for Haskell";
16+ license = stdenv.lib.licenses.bsd3;
17+}
test/golden-test-cases/blaze-svg.cabalnew file+54
@@ -0,0 +1,54 @@
1+name: blaze-svg
2+version: 0.3.6.1
3+synopsis: SVG combinator library
4+homepage: https://github.com/deepakjois/blaze-svg
5+license: BSD3
6+license-file: LICENSE
7+author: Deepak Jois
8+maintainer: deepak.jois@gmail.com
9+category: Graphics
10+build-type: Simple
11+cabal-version: >=1.8
12+description:
13+ A blazingly fast SVG combinator library for the Haskell
14+ programming language. The "Text.Blaze.SVG" module is a good
15+ starting point.
16+ .
17+ Other documentation:
18+ .
19+ * Programs in the /examples/ folder of this project: <https://github.com/deepakjois/blaze-svg/tree/master/examples/>
20+ .
21+ * Jasper Van Der Jeugt has written a tutorial for /blaze-html/,
22+ which is a sister library of /blaze-svg/. It may not be directly relevant,
23+ but still it gives a good overview on how to use the combinators in
24+ "Text.Blaze.Svg11" and "Text.Blaze.Svg11.Attributes":
25+ <http://jaspervdj.be/blaze/tutorial.html>.
26+
27+Extra-source-files:
28+ src/Util/Sanitize.hs
29+ src/Util/GenerateSvgCombinators.hs
30+ examples/*.hs
31+ CHANGES.md
32+
33+Library
34+ Hs-Source-Dirs: src
35+ Ghc-Options: -Wall
36+
37+ Exposed-modules:
38+ Text.Blaze.Svg
39+ Text.Blaze.Svg.Internal
40+ Text.Blaze.Svg11
41+ Text.Blaze.Svg11.Attributes
42+ Text.Blaze.Svg.Renderer.Pretty
43+ Text.Blaze.Svg.Renderer.String
44+ Text.Blaze.Svg.Renderer.Text
45+ Text.Blaze.Svg.Renderer.Utf8
46+
47+ Build-depends:
48+ base >= 4 && < 5,
49+ mtl >= 2 && < 3,
50+ blaze-markup >= 0.5 && < 0.9
51+
52+Source-repository head
53+ Type: git
54+ Location: http://github.com/deepakjois/blaze-svg.git
test/golden-test-cases/blaze-svg.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, blaze-markup, mtl, stdenv }:
2+mkDerivation {
3+ pname = "blaze-svg";
4+ version = "0.3.6.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base blaze-markup mtl ];
7+ homepage = "https://github.com/deepakjois/blaze-svg";
8+ description = "SVG combinator library";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/blosum.cabalnew file+48
@@ -0,0 +1,48 @@
1+name: blosum
2+version: 0.1.1.4
3+synopsis: BLOSUM generator
4+description: Generates BLOSUMs for use with finding the degree of amino acid conservation.
5+homepage: http://github.com/GregorySchwartz/blosum#readme
6+license: GPL-2
7+license-file: LICENSE
8+author: Gregory W. Schwartz
9+maintainer: gregory.schwartz@drexel.edu
10+copyright: Copyright 2016 Gregory W. Schwartz
11+category: Bioinformatics
12+build-type: Simple
13+-- extra-source-files:
14+cabal-version: >=1.10
15+
16+library
17+ hs-source-dirs: src
18+ exposed-modules: Types
19+ , Utility
20+ , Cluster
21+ , Matrix
22+ , Print
23+ build-depends: base >= 4.9 && < 5
24+ , containers
25+ , text
26+ , text-show
27+ , fasta
28+ , lens
29+ default-language: Haskell2010
30+
31+executable blosum
32+ hs-source-dirs: app
33+ main-is: Main.hs
34+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -O2
35+ build-depends: base
36+ , blosum
37+ , containers
38+ , fasta
39+ , text
40+ , split
41+ , pipes
42+ , pipes-text
43+ , optparse-applicative >=0.13
44+ default-language: Haskell2010
45+
46+source-repository head
47+ type: git
48+ location: https://github.com/GregorySchwartz/blosum
test/golden-test-cases/blosum.nix.goldennew file+20
@@ -0,0 +1,20 @@
1+{ mkDerivation, base, containers, fasta, lens, optparse-applicative
2+, pipes, pipes-text, split, stdenv, text, text-show
3+}:
4+mkDerivation {
5+ pname = "blosum";
6+ version = "0.1.1.4";
7+ sha256 = "deadbeef";
8+ isLibrary = true;
9+ isExecutable = true;
10+ libraryHaskellDepends = [
11+ base containers fasta lens text text-show
12+ ];
13+ executableHaskellDepends = [
14+ base containers fasta optparse-applicative pipes pipes-text split
15+ text
16+ ];
17+ homepage = "http://github.com/GregorySchwartz/blosum#readme";
18+ description = "BLOSUM generator";
19+ license = stdenv.lib.licenses.gpl2;
20+}
test/golden-test-cases/boomerang.cabalnew file+45
@@ -0,0 +1,45 @@
1+Name: boomerang
2+Version: 1.4.5.3
3+License: BSD3
4+License-File: LICENSE
5+Author: jeremy@seereason.com
6+Maintainer: partners@seereason.com
7+Bug-Reports: http://code.google.com/p/happstack/issues/list
8+Category: Parsing, Text
9+Synopsis: Library for invertible parsing and printing
10+Description: Specify a single unified grammar which can be used for parsing and pretty-printing
11+Cabal-Version: >= 1.6
12+Build-type: Simple
13+tested-with: GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
14+
15+Library
16+ Build-Depends: base >= 4 && < 5,
17+ mtl >= 2.0 && < 2.3,
18+ template-haskell < 2.13,
19+ text >= 0.11 && < 1.3
20+ Exposed-Modules: Text.Boomerang
21+ Text.Boomerang.Combinators
22+ Text.Boomerang.Error
23+ Text.Boomerang.HStack
24+ Text.Boomerang.Pos
25+ Text.Boomerang.Prim
26+ Text.Boomerang.String
27+ Text.Boomerang.Strings
28+ Text.Boomerang.Texts
29+ Text.Boomerang.TH
30+
31+ Extensions: DeriveDataTypeable,
32+ FlexibleContexts,
33+ FlexibleContexts,
34+ FlexibleInstances,
35+ RankNTypes,
36+ ScopedTypeVariables,
37+ TemplateHaskell,
38+ TypeFamilies,
39+ TypeFamilies,
40+ TypeOperators,
41+ TypeSynonymInstances
42+
43+source-repository head
44+ type: git
45+ location: https://github.com/Happstack/boomerang.git
test/golden-test-cases/boomerang.nix.goldennew file+9
@@ -0,0 +1,9 @@
1+{ mkDerivation, base, mtl, stdenv, template-haskell, text }:
2+mkDerivation {
3+ pname = "boomerang";
4+ version = "1.4.5.3";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base mtl template-haskell text ];
7+ description = "Library for invertible parsing and printing";
8+ license = stdenv.lib.licenses.bsd3;
9+}
test/golden-test-cases/boxes.cabalnew file+35
@@ -0,0 +1,35 @@
1+name: boxes
2+version: 0.1.4
3+synopsis: 2D text pretty-printing library
4+description: A pretty-printing library for laying out text in
5+ two dimensions, using a simple box model.
6+category: Text
7+license: BSD3
8+license-file: LICENSE
9+extra-source-files: CHANGES, README.md
10+author: Brent Yorgey
11+maintainer: David Feuer <David.Feuer@gmail.com>
12+build-type: Simple
13+cabal-version: >= 1.9.2
14+-- Minimum Cabal version supporting test suites
15+
16+library
17+ build-depends: base >= 3 && < 5, split >=0.2 && <0.3
18+ exposed-modules: Text.PrettyPrint.Boxes
19+ extensions: CPP
20+ if impl(ghc)
21+ extensions: OverloadedStrings
22+
23+Test-Suite test-boxes
24+ type: exitcode-stdio-1.0
25+ main-is: Text/PrettyPrint/Tests.hs
26+ build-depends: base >= 3 && < 5, split >=0.2 && <0.3, QuickCheck
27+ extensions: CPP
28+ if impl(ghc)
29+ extensions: OverloadedStrings
30+ cpp-options: -DTESTING
31+-- Export some internals so the tests can get at them
32+
33+source-repository head
34+ type: git
35+ location: git://github.com/treeowl/boxes.git
test/golden-test-cases/boxes.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, QuickCheck, split, stdenv }:
2+mkDerivation {
3+ pname = "boxes";
4+ version = "0.1.4";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base split ];
7+ testHaskellDepends = [ base QuickCheck split ];
8+ description = "2D text pretty-printing library";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/brittany.cabalnew file+372
@@ -0,0 +1,372 @@
1+name: brittany
2+version: 0.9.0.0
3+synopsis: Haskell source code formatter
4+description: {
5+ See <https://github.com/lspitzner/brittany/blob/master/README.md the README>.
6+ .
7+ If you are interested in the implementation, have a look at <https://github.com/lspitzner/brittany/blob/master/doc/implementation/theory.md this document>;
8+ .
9+ The implementation is documented in more detail <https://github.com/lspitzner/brittany/blob/master/doc/implementation/index.md here>.
10+}
11+license: AGPL-3
12+license-file: LICENSE
13+author: Lennart Spitzner
14+maintainer: Lennart Spitzner <hexagoxel@hexagoxel.de>
15+copyright: Copyright (C) 2016-2017 Lennart Spitzner
16+category: Language
17+build-type: Simple
18+cabal-version: >=1.18
19+homepage: https://github.com/lspitzner/brittany/
20+bug-reports: https://github.com/lspitzner/brittany/issues
21+extra-doc-files: {
22+ ChangeLog.md
23+ README.md
24+ doc/implementation/*.md
25+}
26+extra-source-files: {
27+ src-literatetests/*.blt
28+}
29+
30+source-repository head {
31+ type: git
32+ location: https://github.com/lspitzner/brittany.git
33+}
34+
35+flag brittany-dev-lib
36+ description: set buildable false for anything but lib
37+ default: False
38+ manual: True
39+
40+library {
41+ default-language:
42+ Haskell2010
43+ hs-source-dirs:
44+ src
45+ install-includes: {
46+ srcinc/prelude.inc
47+ }
48+ exposed-modules: {
49+ Language.Haskell.Brittany
50+ Language.Haskell.Brittany.Internal
51+ Language.Haskell.Brittany.Internal.Prelude
52+ Language.Haskell.Brittany.Internal.PreludeUtils
53+ Language.Haskell.Brittany.Internal.Types
54+ Language.Haskell.Brittany.Internal.Utils
55+ Language.Haskell.Brittany.Internal.Config
56+ Language.Haskell.Brittany.Internal.Config.Types
57+ Language.Haskell.Brittany.Internal.Config.Types.Instances
58+ Paths_brittany
59+ }
60+ other-modules: {
61+ Language.Haskell.Brittany.Internal.LayouterBasics
62+ Language.Haskell.Brittany.Internal.Backend
63+ Language.Haskell.Brittany.Internal.BackendUtils
64+ Language.Haskell.Brittany.Internal.ExactPrintUtils
65+ Language.Haskell.Brittany.Internal.Layouters.Type
66+ Language.Haskell.Brittany.Internal.Layouters.Decl
67+ Language.Haskell.Brittany.Internal.Layouters.Expr
68+ Language.Haskell.Brittany.Internal.Layouters.Stmt
69+ Language.Haskell.Brittany.Internal.Layouters.Pattern
70+ Language.Haskell.Brittany.Internal.Transformations.Alt
71+ Language.Haskell.Brittany.Internal.Transformations.Floating
72+ Language.Haskell.Brittany.Internal.Transformations.Par
73+ Language.Haskell.Brittany.Internal.Transformations.Columns
74+ Language.Haskell.Brittany.Internal.Transformations.Indent
75+ }
76+ ghc-options: {
77+ -Wall
78+ -fno-warn-unused-imports
79+ -fno-warn-redundant-constraints
80+ }
81+ build-depends:
82+ { base >=4.9 && <4.11
83+ , ghc >=8.0.1 && <8.3
84+ , ghc-paths >=0.1.0.9 && <0.2
85+ , ghc-exactprint >=0.5.3.0 && <0.6
86+ , transformers >=0.5.2.0 && <0.6
87+ , containers >=0.5.7.1 && <0.6
88+ , mtl >=2.2.1 && <2.3
89+ , text >=1.2 && <1.3
90+ , multistate >=0.7.1.1 && <0.8
91+ , syb >=0.6 && <0.8
92+ , neat-interpolation >=0.3.2 && <0.4
93+ , data-tree-print
94+ , pretty >=1.1.3.3 && <1.2
95+ , bytestring >=0.10.8.1 && <0.11
96+ , directory >=1.2.6.2 && <1.4
97+ , butcher >=1.2 && <1.3
98+ , yaml >=0.8.18 && <0.9
99+ , aeson >=1.0.1.0 && <1.3
100+ , extra >=1.4.10 && <1.7
101+ , uniplate >=1.6.12 && <1.7
102+ , strict >=0.3.2 && <0.4
103+ , monad-memo >=0.4.1 && <0.5
104+ , unsafe >=0.0 && <0.1
105+ , safe >=0.3.9 && <0.4
106+ , deepseq >=1.4.2.0 && <1.5
107+ , semigroups >=0.18.2 && <0.19
108+ , cmdargs >=0.10.14 && <0.11
109+ , czipwith >=1.0.0.0 && <1.1
110+ , ghc-boot-th >=8.0.1 && <8.3
111+ }
112+ default-extensions: {
113+ CPP
114+
115+ NoImplicitPrelude
116+
117+ GADTs
118+
119+ FlexibleContexts
120+ FlexibleInstances
121+ ScopedTypeVariables
122+ MonadComprehensions
123+ LambdaCase
124+ MultiWayIf
125+ KindSignatures
126+ }
127+ include-dirs:
128+ srcinc
129+}
130+
131+executable brittany
132+ if flag(brittany-dev-lib) {
133+ buildable: False
134+ } else {
135+ buildable: True
136+ }
137+ main-is: Main.hs
138+ other-modules: {
139+ Paths_brittany
140+ }
141+ -- other-extensions:
142+ build-depends:
143+ { brittany
144+ , base
145+ , ghc
146+ , ghc-paths
147+ , ghc-exactprint
148+ , transformers
149+ , containers
150+ , mtl
151+ , text
152+ , multistate
153+ , syb
154+ , neat-interpolation
155+ , data-tree-print
156+ , pretty
157+ , bytestring
158+ , directory
159+ , butcher
160+ , yaml
161+ , aeson
162+ , extra
163+ , uniplate
164+ , strict
165+ , monad-memo
166+ , unsafe
167+ , safe
168+ , deepseq
169+ , semigroups
170+ , cmdargs
171+ , czipwith
172+ , ghc-boot-th
173+ , hspec >=2.4.1 && <2.5
174+ , filepath >=1.4.1.0 && <1.5
175+ }
176+ hs-source-dirs: src-brittany
177+ default-language: Haskell2010
178+ default-extensions: {
179+ CPP
180+
181+ NoImplicitPrelude
182+
183+ GADTs
184+
185+ FlexibleContexts
186+ FlexibleInstances
187+ ScopedTypeVariables
188+ MonadComprehensions
189+ LambdaCase
190+ MultiWayIf
191+ KindSignatures
192+ }
193+ ghc-options: {
194+ -Wall
195+ -fno-spec-constr
196+ -fno-warn-unused-imports
197+ -fno-warn-redundant-constraints
198+ -rtsopts
199+ -with-rtsopts "-M2G"
200+ }
201+
202+test-suite unittests
203+ if flag(brittany-dev-lib) {
204+ buildable: False
205+ } else {
206+ buildable: True
207+ }
208+ type: exitcode-stdio-1.0
209+ default-language: Haskell2010
210+ build-depends:
211+ { brittany
212+ , base
213+ , ghc
214+ , ghc-paths
215+ , ghc-exactprint
216+ , transformers
217+ , containers
218+ , mtl
219+ , text
220+ , multistate
221+ , syb
222+ , neat-interpolation
223+ , data-tree-print
224+ , pretty
225+ , bytestring
226+ , directory
227+ , butcher
228+ , yaml
229+ , aeson
230+ , extra
231+ , uniplate
232+ , strict
233+ , monad-memo
234+ , unsafe
235+ , safe
236+ , deepseq
237+ , semigroups
238+ , cmdargs
239+ , czipwith
240+ , ghc-boot-th
241+ , hspec >=2.4.1 && <2.5
242+ }
243+ ghc-options: -Wall
244+ main-is: TestMain.hs
245+ other-modules: TestUtils
246+ AsymptoticPerfTests
247+ hs-source-dirs: src-unittests
248+ default-extensions: {
249+ CPP
250+
251+ NoImplicitPrelude
252+
253+ GADTs
254+
255+ FlexibleContexts
256+ FlexibleInstances
257+ ScopedTypeVariables
258+ MonadComprehensions
259+ LambdaCase
260+ MultiWayIf
261+ KindSignatures
262+ }
263+ ghc-options: {
264+ -Wall
265+ -fno-warn-unused-imports
266+ -rtsopts
267+ -with-rtsopts "-M2G"
268+ }
269+
270+test-suite littests
271+ if flag(brittany-dev-lib) {
272+ buildable: False
273+ } else {
274+ buildable: True
275+ }
276+ type: exitcode-stdio-1.0
277+ default-language: Haskell2010
278+ build-depends:
279+ { brittany
280+ , base
281+ , ghc
282+ , ghc-paths
283+ , ghc-exactprint
284+ , transformers
285+ , containers
286+ , mtl
287+ , text
288+ , multistate
289+ , syb
290+ , neat-interpolation
291+ , data-tree-print
292+ , pretty
293+ , bytestring
294+ , directory
295+ , butcher
296+ , yaml
297+ , aeson
298+ , extra
299+ , uniplate
300+ , strict
301+ , monad-memo
302+ , unsafe
303+ , safe
304+ , deepseq
305+ , semigroups
306+ , cmdargs
307+ , czipwith
308+ , ghc-boot-th
309+ , hspec >=2.4.1 && <2.5
310+ , filepath
311+ , parsec >=3.1.11 && <3.2
312+ }
313+ ghc-options: -Wall
314+ main-is: Main.hs
315+ other-modules:
316+ hs-source-dirs: src-literatetests
317+ default-extensions: {
318+ CPP
319+
320+ NoImplicitPrelude
321+
322+ GADTs
323+
324+ FlexibleContexts
325+ FlexibleInstances
326+ ScopedTypeVariables
327+ MonadComprehensions
328+ LambdaCase
329+ MultiWayIf
330+ KindSignatures
331+ }
332+ ghc-options: {
333+ -Wall
334+ -fno-warn-unused-imports
335+ -rtsopts
336+ -with-rtsopts "-M2G"
337+ }
338+
339+test-suite libinterfacetests
340+ if flag(brittany-dev-lib) {
341+ buildable: False
342+ } else {
343+ buildable: True
344+ }
345+ type: exitcode-stdio-1.0
346+ default-language: Haskell2010
347+ build-depends:
348+ { brittany
349+ , base
350+ , text
351+ , transformers
352+ , hspec >=2.4.1 && <2.5
353+ }
354+ ghc-options: -Wall
355+ main-is: Main.hs
356+ other-modules:
357+ hs-source-dirs: src-libinterfacetests
358+ default-extensions: {
359+ FlexibleContexts
360+ FlexibleInstances
361+ ScopedTypeVariables
362+ MonadComprehensions
363+ LambdaCase
364+ MultiWayIf
365+ KindSignatures
366+ }
367+ ghc-options: {
368+ -Wall
369+ -fno-warn-unused-imports
370+ -rtsopts
371+ -with-rtsopts "-M2G"
372+ }
test/golden-test-cases/brittany.nix.goldennew file+38
@@ -0,0 +1,38 @@
1+{ mkDerivation, aeson, base, butcher, bytestring, cmdargs
2+, containers, czipwith, data-tree-print, deepseq, directory, extra
3+, filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths, hspec
4+, monad-memo, mtl, multistate, neat-interpolation, parsec, pretty
5+, safe, semigroups, stdenv, strict, syb, text, transformers
6+, uniplate, unsafe, yaml
7+}:
8+mkDerivation {
9+ pname = "brittany";
10+ version = "0.9.0.0";
11+ sha256 = "deadbeef";
12+ isLibrary = true;
13+ isExecutable = true;
14+ libraryHaskellDepends = [
15+ aeson base butcher bytestring cmdargs containers czipwith
16+ data-tree-print deepseq directory extra ghc ghc-boot-th
17+ ghc-exactprint ghc-paths monad-memo mtl multistate
18+ neat-interpolation pretty safe semigroups strict syb text
19+ transformers uniplate unsafe yaml
20+ ];
21+ executableHaskellDepends = [
22+ aeson base butcher bytestring cmdargs containers czipwith
23+ data-tree-print deepseq directory extra filepath ghc ghc-boot-th
24+ ghc-exactprint ghc-paths hspec monad-memo mtl multistate
25+ neat-interpolation pretty safe semigroups strict syb text
26+ transformers uniplate unsafe yaml
27+ ];
28+ testHaskellDepends = [
29+ aeson base butcher bytestring cmdargs containers czipwith
30+ data-tree-print deepseq directory extra filepath ghc ghc-boot-th
31+ ghc-exactprint ghc-paths hspec monad-memo mtl multistate
32+ neat-interpolation parsec pretty safe semigroups strict syb text
33+ transformers uniplate unsafe yaml
34+ ];
35+ homepage = "https://github.com/lspitzner/brittany/";
36+ description = "Haskell source code formatter";
37+ license = stdenv.lib.licenses.agpl3;
38+}
test/golden-test-cases/broadcast-chan.cabalnew file+53
@@ -0,0 +1,53 @@
1+Name: broadcast-chan
2+Version: 0.1.1
3+
4+Homepage: https://github.com/merijn/broadcast-chan
5+Bug-Reports: https://github.com/merijn/broadcast-chan/issues
6+
7+Author: Merijn Verstraaten
8+Maintainer: Merijn Verstraaten <merijn@inconsistent.nl>
9+Copyright: Copyright © 2014 Merijn Verstraaten
10+
11+License: BSD3
12+License-File: LICENSE
13+
14+Category: System
15+Cabal-Version: >= 1.10
16+Build-Type: Simple
17+Tested-With: GHC == 7.8.3
18+
19+Synopsis: Broadcast channel type that avoids 0 reader space leaks.
20+
21+Description:
22+ A variation of "Control.Concurrent.Chan" from base, which allows to the
23+ easy creation of broadcast channels without the space-leaks that may arise
24+ from using 'Control.Concurrent.Chan.dupChan'.
25+
26+ The 'Control.Concurrent.Chan.Chan' type from "Control.Concurrent.Chan"
27+ consists of both a read and write end. This presents a problem when one
28+ wants to have a broadcast channel that, at times, has zero listeners. To
29+ write to a 'Control.Concurrent.Chan.Chan' there must always be a read end
30+ and this read end will hold ALL messages alive until read.
31+
32+ The simple solution applied in this module is to separate read and write
33+ ends. As a result, any messages written to the write end can be immediately
34+ garbage collected if there are no active read ends, avoding space leaks.
35+
36+Library
37+ Default-Language: Haskell2010
38+ GHC-Options: -Wall -fno-warn-unused-do-bind
39+ Exposed-Modules: Control.Concurrent.BroadcastChan
40+
41+ Build-Depends: base >= 4 && < 5
42+
43+Source-Repository head
44+ Type: git
45+ Location: ssh://github.com:merijn/broadcast-chan.git
46+
47+Source-Repository head
48+ Type: mercurial
49+ Location: git+ssh://github.com:merijn/broadcast-chan.git
50+
51+Source-Repository head
52+ Type: mercurial
53+ Location: https://bitbucket.org/merijnv/broadcast-chan
test/golden-test-cases/broadcast-chan.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, stdenv }:
2+mkDerivation {
3+ pname = "broadcast-chan";
4+ version = "0.1.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base ];
7+ homepage = "https://github.com/merijn/broadcast-chan";
8+ description = "Broadcast channel type that avoids 0 reader space leaks";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/butcher.cabalnew file+157
@@ -0,0 +1,157 @@
1+name: butcher
2+version: 1.2.1.0
3+synopsis: Chops a command or program invocation into digestable pieces.
4+description: See the <https://github.com/lspitzner/butcher/blob/master/README.md README> (it is properly formatted on github).
5+license: BSD3
6+license-file: LICENSE
7+author: Lennart Spitzner
8+maintainer: Lennart Spitzner <hexagoxel@hexagoxel.de>
9+copyright: Copyright (C) 2016-2017 Lennart Spitzner
10+category: UI
11+build-type: Simple
12+Stability: experimental
13+extra-source-files: {
14+ ChangeLog.md
15+ srcinc/prelude.inc
16+ README.md
17+}
18+cabal-version: >=1.10
19+homepage: https://github.com/lspitzner/butcher/
20+bug-reports: https://github.com/lspitzner/butcher/issues
21+
22+source-repository head {
23+ type: git
24+ location: https://github.com/lspitzner/butcher.git
25+}
26+
27+flag butcher-dev
28+ description: dev options
29+ default: False
30+ manual: True
31+
32+library
33+ exposed-modules: UI.Butcher.Monadic.Types
34+ UI.Butcher.Monadic
35+ UI.Butcher.Monadic.Command
36+ UI.Butcher.Monadic.Param
37+ UI.Butcher.Monadic.Flag
38+ UI.Butcher.Monadic.Pretty
39+ UI.Butcher.Monadic.IO
40+ UI.Butcher.Monadic.Interactive
41+ UI.Butcher.Monadic.BuiltinCommands
42+ other-modules: UI.Butcher.Monadic.Internal.Types
43+ UI.Butcher.Monadic.Internal.Core
44+ build-depends:
45+ { base >=4.8 && <4.11
46+ , free
47+ , unsafe
48+ , microlens
49+ , microlens-th
50+ , multistate
51+ , pretty
52+ , containers
53+ , either
54+ , transformers
55+ , mtl
56+ , extra
57+ , void
58+ , bifunctors
59+ , deque
60+ }
61+ if flag(butcher-dev) {
62+ build-depends:
63+ hspec
64+ }
65+ hs-source-dirs: src
66+ default-language: Haskell2010
67+ default-extensions: {
68+ CPP
69+
70+ NoImplicitPrelude
71+
72+ GADTs
73+
74+ FlexibleContexts
75+ FlexibleInstances
76+ ScopedTypeVariables
77+ MonadComprehensions
78+ LambdaCase
79+ MultiWayIf
80+ KindSignatures
81+ }
82+ other-extensions: {
83+ DeriveFunctor
84+ ExistentialQuantification
85+ GeneralizedNewtypeDeriving
86+ StandaloneDeriving
87+ DataKinds
88+ TypeOperators
89+ TemplateHaskell
90+ }
91+ ghc-options: {
92+ -Wall
93+ -fno-spec-constr
94+ -fno-warn-unused-imports
95+ -fno-warn-orphans
96+ }
97+ if flag(butcher-dev) {
98+ ghc-options: -O0 -Werror -fprof-auto -fprof-cafs
99+ }
100+ include-dirs:
101+ srcinc
102+
103+test-suite tests
104+ type: exitcode-stdio-1.0
105+ default-language: Haskell2010
106+ build-depends:
107+ { base >=4.8 && <4.11
108+ , butcher
109+ , free
110+ , unsafe
111+ , microlens
112+ , microlens-th
113+ , multistate
114+ , pretty
115+ , containers
116+ , either
117+ , transformers
118+ , mtl
119+ , extra
120+ , deque
121+ }
122+ if flag(butcher-dev) {
123+ buildable: True
124+ build-depends:
125+ hspec
126+ } else {
127+ buildable: False
128+ }
129+ ghc-options: -Wall
130+ main-is: TestMain.hs
131+ other-modules:
132+ hs-source-dirs: src-tests
133+ default-extensions: {
134+ CPP
135+
136+ NoImplicitPrelude
137+
138+ GADTs
139+
140+ FlexibleContexts
141+ FlexibleInstances
142+ ScopedTypeVariables
143+ MonadComprehensions
144+ LambdaCase
145+ MultiWayIf
146+ KindSignatures
147+ }
148+ ghc-options: {
149+ -Wall
150+ -fno-spec-constr
151+ -fno-warn-unused-imports
152+ -fno-warn-orphans
153+ }
154+ if flag(butcher-dev) {
155+ ghc-options: -Werror -fprof-auto -fprof-cafs -O0
156+ }
157+
test/golden-test-cases/butcher.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, base, bifunctors, containers, deque, either, extra
2+, free, microlens, microlens-th, mtl, multistate, pretty, stdenv
3+, transformers, unsafe, void
4+}:
5+mkDerivation {
6+ pname = "butcher";
7+ version = "1.2.1.0";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ base bifunctors containers deque either extra free microlens
11+ microlens-th mtl multistate pretty transformers unsafe void
12+ ];
13+ homepage = "https://github.com/lspitzner/butcher/";
14+ description = "Chops a command or program invocation into digestable pieces";
15+ license = stdenv.lib.licenses.bsd3;
16+}
test/golden-test-cases/bzlib.cabalnew file+47
@@ -0,0 +1,47 @@
1+name: bzlib
2+version: 0.5.0.5
3+copyright: (c) 2006-2015 Duncan Coutts
4+license: BSD3
5+license-file: LICENSE
6+author: Duncan Coutts <duncan@community.haskell.org>
7+maintainer: Duncan Coutts <duncan@community.haskell.org>
8+category: Codec
9+synopsis: Compression and decompression in the bzip2 format
10+description: This package provides a pure interface for compressing and
11+ decompressing streams of data represented as lazy
12+ 'ByteString's. It uses the bz2 C library so it has high
13+ performance.
14+ .
15+ It provides a convenient high level API suitable for most
16+ tasks and for the few cases where more control is needed it
17+ provides access to the full bzip2 feature set.
18+build-type: Simple
19+cabal-version: >= 1.6
20+extra-source-files: cbits/bzlib_private.h cbits/LICENSE
21+ -- demo programs:
22+ examples/bzip2.hs examples/bunzip2.hs
23+
24+source-repository head
25+ type: darcs
26+ location: http://code.haskell.org/bzlib/
27+
28+library
29+ exposed-modules: Codec.Compression.BZip,
30+ Codec.Compression.BZip.Internal
31+ other-modules: Codec.Compression.BZip.Stream
32+ extensions: CPP, ForeignFunctionInterface
33+ build-depends: base >= 3 && < 5,
34+ bytestring == 0.9.* || == 0.10.*
35+ includes: bzlib.h
36+ ghc-options: -Wall
37+ if !os(windows)
38+ -- Normally we use the the standard system bz2 lib:
39+ extra-libraries: bz2
40+ else
41+ -- However for the benefit of users of Windows (which does not have zlib
42+ -- by default) we bundle a complete copy of the C sources of bzip2-1.0.6
43+ c-sources: cbits/blocksort.c cbits/bzlib.c cbits/compress.c
44+ cbits/crctable.c cbits/decompress.c cbits/huffman.c
45+ cbits/randtable.c
46+ include-dirs: cbits
47+ install-includes: bzlib.h
test/golden-test-cases/bzlib.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, bytestring, bzip2, stdenv }:
2+mkDerivation {
3+ pname = "bzlib";
4+ version = "0.5.0.5";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base bytestring ];
7+ librarySystemDepends = [ bzip2 ];
8+ description = "Compression and decompression in the bzip2 format";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/case-insensitive.cabalnew file+73
@@ -0,0 +1,73 @@
1+name: case-insensitive
2+version: 1.2.0.10
3+cabal-version: >=1.8
4+build-type: Simple
5+license: BSD3
6+license-file: LICENSE
7+copyright: 2011 Bas van Dijk
8+author: Bas van Dijk
9+maintainer: Bas van Dijk <v.dijk.bas@gmail.com>
10+homepage: https://github.com/basvandijk/case-insensitive
11+bug-reports: https://github.com/basvandijk/case-insensitive/issues
12+category: Data, Text
13+synopsis: Case insensitive string comparison
14+description: The module @Data.CaseInsensitive@ provides the 'CI' type
15+ constructor which can be parameterised by a string-like
16+ type like: 'String', 'ByteString', 'Text',
17+ etc.. Comparisons of values of the resulting type will be
18+ insensitive to cases.
19+tested-with:
20+ GHC==7.0.4,
21+ GHC==7.2.2
22+ GHC==7.4.2,
23+ GHC==7.6.3,
24+ GHC==7.8.4,
25+ GHC==7.10.3,
26+ GHC==8.0.1
27+
28+extra-source-files: README.markdown CHANGELOG pg2189.txt
29+
30+source-repository head
31+ Type: git
32+ Location: git://github.com/basvandijk/case-insensitive.git
33+
34+Library
35+ ghc-options: -Wall
36+ build-depends: base >= 3 && < 4.11
37+ , bytestring >= 0.9 && < 0.11
38+ , text >= 0.3 && < 1.3
39+ , deepseq >= 1.1 && < 1.5
40+ , hashable >= 1.0 && < 1.3
41+ if !impl(ghc >= 8.0)
42+ build-depends: semigroups >= 0.18 && < 0.19
43+ exposed-modules: Data.CaseInsensitive, Data.CaseInsensitive.Unsafe
44+ other-modules: Data.CaseInsensitive.Internal
45+
46+test-suite test-case-insensitive
47+ type: exitcode-stdio-1.0
48+ main-is: test.hs
49+ hs-source-dirs: test
50+
51+ build-depends: case-insensitive
52+ , base >= 3 && < 4.11
53+ , bytestring >= 0.9 && < 0.11
54+ , text >= 0.3 && < 1.3
55+ , HUnit >= 1.2.2 && < 1.6
56+ , test-framework >= 0.2.4 && < 0.9
57+ , test-framework-hunit >= 0.2.4 && < 0.4
58+
59+ ghc-options: -Wall
60+
61+benchmark bench-case-insensitive
62+ type: exitcode-stdio-1.0
63+ main-is: bench.hs
64+ other-modules: NoClass
65+ hs-source-dirs: bench
66+
67+ ghc-options: -Wall -O2
68+
69+ build-depends: case-insensitive
70+ , base >= 3 && < 4.11
71+ , bytestring >= 0.9 && < 0.11
72+ , criterion >= 0.6.1 && < 1.3
73+ , deepseq >= 1.1 && < 1.5
test/golden-test-cases/case-insensitive.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, base, bytestring, criterion, deepseq, hashable
2+, HUnit, stdenv, test-framework, test-framework-hunit, text
3+}:
4+mkDerivation {
5+ pname = "case-insensitive";
6+ version = "1.2.0.10";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base bytestring deepseq hashable text ];
9+ testHaskellDepends = [
10+ base bytestring HUnit test-framework test-framework-hunit text
11+ ];
12+ benchmarkHaskellDepends = [ base bytestring criterion deepseq ];
13+ homepage = "https://github.com/basvandijk/case-insensitive";
14+ description = "Case insensitive string comparison";
15+ license = stdenv.lib.licenses.bsd3;
16+}
test/golden-test-cases/cassava-conduit.cabalnew file+79
@@ -0,0 +1,79 @@
1+name: cassava-conduit
2+version: 0.4.0.1
3+license: BSD3
4+license-file: etc/LICENCE.md
5+author: Dom De Re
6+maintainer: Dom De Re
7+copyright: Copyright (C) 2014-2017 Dom De Re
8+synopsis: Conduit interface for cassava package
9+category: Data
10+description: Conduit interface for cassava package
11+ .
12+ PRs welcome.
13+homepage: https://github.com/domdere/cassava-conduit
14+bug-reports: https://github.com/domdere/cassava-conduit/issues
15+cabal-version: >= 1.18
16+build-type: Simple
17+tested-with: GHC == 7.10.1
18+ , GHC == 7.10.2
19+extra-source-files: README.md
20+ , CHANGELOG.md
21+
22+source-repository head
23+ type: git
24+ location: https://github.com/domdere/cassava-conduit
25+
26+flag small_base
27+ description: Choose the new, split-up base package.
28+
29+library
30+ default-language: Haskell2010
31+
32+ build-depends: base < 5 && >= 4
33+ , containers
34+ , array
35+ , bifunctors >= 4.2 && < 6
36+ , bytestring == 0.10.*
37+ , cassava == 0.5.*
38+ , conduit == 1.2.*
39+ , conduit-extra == 1.2.*
40+ , mtl == 2.2.*
41+ , text == 1.2.*
42+
43+ ghc-options: -Wall
44+
45+ hs-source-dirs: src
46+
47+ exposed-modules: Data.Csv.Conduit
48+
49+ other-modules: LocalPrelude
50+
51+ default-extensions: NoImplicitPrelude
52+
53+test-suite quickcheck
54+ default-language: Haskell2010
55+ type: exitcode-stdio-1.0
56+ main-is: Main.hs
57+ hs-source-dirs: quickcheck
58+ other-modules: Test.Arbitrary
59+ Test.Data.Csv.Conduit
60+
61+ build-depends: base >= 4 && < 5
62+ , bytestring == 0.10.*
63+ , cassava == 0.5.*
64+ , conduit == 1.2.*
65+ , conduit-extra == 1.2.*
66+ , QuickCheck == 2.10.*
67+ , text == 1.2.*
68+ , cassava-conduit
69+
70+benchmark benchmarks
71+ default-language: Haskell2010
72+ type: exitcode-stdio-1.0
73+ hs-source-dirs: benchmarks
74+ main-is: Main.hs
75+ ghc-options: -O2 -rtsopts
76+
77+ build-depends: base > 4 && <= 5
78+ , cassava-conduit
79+ , criterion >= 0.8
test/golden-test-cases/cassava-conduit.nix.goldennew file+20
@@ -0,0 +1,20 @@
1+{ mkDerivation, array, base, bifunctors, bytestring, cassava
2+, conduit, conduit-extra, containers, criterion, mtl, QuickCheck
3+, stdenv, text
4+}:
5+mkDerivation {
6+ pname = "cassava-conduit";
7+ version = "0.4.0.1";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ array base bifunctors bytestring cassava conduit conduit-extra
11+ containers mtl text
12+ ];
13+ testHaskellDepends = [
14+ base bytestring cassava conduit conduit-extra QuickCheck text
15+ ];
16+ benchmarkHaskellDepends = [ base criterion ];
17+ homepage = "https://github.com/domdere/cassava-conduit";
18+ description = "Conduit interface for cassava package";
19+ license = stdenv.lib.licenses.bsd3;
20+}
test/golden-test-cases/cassette.cabalnew file+28
@@ -0,0 +1,28 @@
1+Name: cassette
2+Version: 0.1.0
3+Author: Mathieu Boespflug
4+Maintainer: Mathieu Boespflug <mboes@cs.mcgill.ca>
5+Synopsis: A combinator library for simultaneously defining parsers and pretty printers.
6+Description:
7+ Combinator library for defining both type safe parsers and pretty printers simultaneously.
8+ This library performs well in practice because parsers and printers are implemented in CPS
9+ and because arguments are always curried, rather than packed into nested tuples.
10+Category: Parsing, Text
11+License: BSD3
12+License-File: LICENSE
13+Cabal-Version: >= 1.10.0
14+Build-Type: Simple
15+Tested-With: GHC == 7.4.1
16+
17+library
18+ Hs-Source-Dirs: src
19+ Build-Depends: base >= 4 && < 5
20+ Default-Language: Haskell2010
21+ default-extensions: RankNTypes
22+ other-extensions: ImpredicativeTypes
23+ Exposed-Modules: Text.Cassette
24+ Text.Cassette.Prim
25+ Text.Cassette.Lead
26+ Text.Cassette.Combinator
27+ Text.Cassette.Char
28+ Text.Cassette.Number
test/golden-test-cases/cassette.nix.goldennew file+9
@@ -0,0 +1,9 @@
1+{ mkDerivation, base, stdenv }:
2+mkDerivation {
3+ pname = "cassette";
4+ version = "0.1.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base ];
7+ description = "A combinator library for simultaneously defining parsers and pretty printers";
8+ license = stdenv.lib.licenses.bsd3;
9+}
test/golden-test-cases/cereal-text.cabalnew file+38
@@ -0,0 +1,38 @@
1+-- Initial cereal-text.cabal generated by cabal init. For further
2+-- documentation, see http://haskell.org/cabal/users-guide/
3+
4+name: cereal-text
5+version: 0.1.0.2
6+synopsis: Data.Text instances for the cereal serialization library
7+description: Data.Text instances for the cereal serialization library.
8+ .
9+ Provides instances for Text and lazy Text.
10+ Uses UTF-8 encoding for serialization.
11+ .
12+ Use
13+ @import Data.Serialize.Text ()@
14+ to import instances.
15+homepage: https://github.com/ulikoehler/cereal-text
16+license: Apache-2.0
17+license-file: LICENSE
18+author: Uli Köhler
19+maintainer: ukoehler@btronik.de
20+-- copyright:
21+category: Data
22+build-type: Simple
23+extra-source-files: README.md
24+cabal-version: >=1.10
25+
26+source-repository head
27+ type: git
28+ location: https://github.com/ulikoehler/cereal-text
29+
30+library
31+ exposed-modules: Data.Serialize.Text
32+ -- other-modules:
33+ -- other-extensions:
34+ build-depends: base >= 4.0 && < 6.0,
35+ cereal >= 0.2,
36+ text >= 0.10
37+ -- hs-source-dirs:
38+ default-language: Haskell2010
test/golden-test-cases/cereal-text.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, cereal, stdenv, text }:
2+mkDerivation {
3+ pname = "cereal-text";
4+ version = "0.1.0.2";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base cereal text ];
7+ homepage = "https://github.com/ulikoehler/cereal-text";
8+ description = "Data.Text instances for the cereal serialization library";
9+ license = stdenv.lib.licenses.asl20;
10+}
test/golden-test-cases/cheapskate.cabalnew file+81
@@ -0,0 +1,81 @@
1+name: cheapskate
2+version: 0.1.1
3+synopsis: Experimental markdown processor.
4+description: This is an experimental Markdown processor in pure
5+ Haskell. It aims to process Markdown efficiently and in
6+ the most forgiving possible way. It is designed to deal
7+ with any input, including garbage, with linear
8+ performance. Output is sanitized by default for
9+ protection against XSS attacks.
10+ .
11+ Several markdown extensions are implemented, including
12+ fenced code blocks, significant list start numbers, and
13+ autolinked URLs. See README.markdown for details.
14+homepage: http://github.com/jgm/cheapskate
15+license: BSD3
16+license-file: LICENSE
17+author: John MacFarlane
18+maintainer: jgm@berkeley.edu
19+copyright: (C) 2012-2013 John MacFarlane
20+category: Text
21+build-type: Simple
22+extra-source-files: README.markdown
23+ changelog
24+ man/man1/cheapskate.1
25+cabal-version: >=1.10
26+Source-repository head
27+ type: git
28+ location: git://github.com/jgm/cheapskate.git
29+
30+Flag dingus
31+ Description: Build cheapskate-dingus cgi script.
32+ Default: False
33+
34+library
35+ hs-source-dirs: .
36+ exposed-modules: Cheapskate
37+ Cheapskate.Parse
38+ Cheapskate.Types
39+ Cheapskate.Html
40+ other-modules: Cheapskate.Util
41+ Cheapskate.Inlines
42+ Cheapskate.ParserCombinators
43+ Paths_cheapskate
44+ build-depends: base >=4.4 && <5,
45+ containers >=0.4 && <0.6,
46+ mtl >=2.1 && <2.3,
47+ text >= 0.9 && < 1.3,
48+ blaze-html >=0.6 && < 0.10,
49+ xss-sanitize >= 0.3 && < 0.4,
50+ data-default >= 0.5 && < 0.8,
51+ syb,
52+ uniplate >= 1.6 && < 1.7,
53+ deepseq
54+ default-language: Haskell2010
55+ ghc-options: -Wall -fno-warn-unused-do-bind
56+
57+executable cheapskate
58+ main-is: main.hs
59+ hs-source-dirs: bin
60+ build-depends: base >=4.4 && <5,
61+ cheapskate,
62+ bytestring,
63+ blaze-html >=0.6 && < 0.10,
64+ text >= 0.9 && < 1.3
65+ default-language: Haskell2010
66+ ghc-options: -Wall -fno-warn-unused-do-bind
67+ ghc-prof-options: -auto-exported -rtsopts
68+
69+executable cheapskate-dingus
70+ main-is: cheapskate-dingus.hs
71+ hs-source-dirs: bin
72+ if flag(dingus)
73+ build-depends: base, aeson, cheapskate, blaze-html,
74+ text, wai-extra, wai >= 0.3, http-types
75+ default-language: Haskell2010
76+ if flag(dingus)
77+ Buildable: True
78+ else
79+ Buildable: False
80+ ghc-options: -Wall -fno-warn-unused-do-bind
81+ ghc-prof-options: -auto-exported -rtsopts
test/golden-test-cases/cheapskate.nix.goldennew file+19
@@ -0,0 +1,19 @@
1+{ mkDerivation, base, blaze-html, bytestring, containers
2+, data-default, deepseq, mtl, stdenv, syb, text, uniplate
3+, xss-sanitize
4+}:
5+mkDerivation {
6+ pname = "cheapskate";
7+ version = "0.1.1";
8+ sha256 = "deadbeef";
9+ isLibrary = true;
10+ isExecutable = true;
11+ libraryHaskellDepends = [
12+ base blaze-html containers data-default deepseq mtl syb text
13+ uniplate xss-sanitize
14+ ];
15+ executableHaskellDepends = [ base blaze-html bytestring text ];
16+ homepage = "http://github.com/jgm/cheapskate";
17+ description = "Experimental markdown processor";
18+ license = stdenv.lib.licenses.bsd3;
19+}
test/golden-test-cases/chell.cabalnew file+88
@@ -0,0 +1,88 @@
1+name: chell
2+version: 0.4.0.2
3+license: MIT
4+license-file: license.txt
5+author: John Millikin <john@john-millikin.com>
6+maintainer: John Millikin <john@john-millikin.com>
7+build-type: Simple
8+cabal-version: >= 1.6
9+category: Testing
10+bug-reports: mailto:jmillikin@gmail.com
11+homepage: https://john-millikin.com/software/chell/
12+
13+synopsis: A simple and intuitive library for automated testing.
14+description:
15+ Chell is a simple and intuitive library for automated testing. It natively
16+ supports assertion-based testing, and can use companion libraries
17+ such as @chell-quickcheck@ to support more complex testing strategies.
18+ .
19+ An example test suite, which verifies the behavior of artithmetic operators.
20+ .
21+ @
22+ &#x7b;-\# LANGUAGE TemplateHaskell \#-&#x7d;
23+ .
24+ import Test.Chell
25+ .
26+ tests_Math :: Suite
27+ tests_Math = suite \"math\"
28+ &#x20; [ test_Addition
29+ &#x20; , test_Subtraction
30+ &#x20; ]
31+ .
32+ test_Addition :: Test
33+ test_Addition = assertions \"addition\" $ do
34+ &#x20; $expect (equal (2 + 1) 3)
35+ &#x20; $expect (equal (1 + 2) 3)
36+ .
37+ test_Subtraction :: Test
38+ test_Subtraction = assertions \"subtraction\" $ do
39+ &#x20; $expect (equal (2 - 1) 1)
40+ &#x20; $expect (equal (1 - 2) (-1))
41+ .
42+ main :: IO ()
43+ main = defaultMain [tests_Math]
44+ @
45+ .
46+ @
47+ $ ghc --make chell-example.hs
48+ $ ./chell-example
49+ PASS: 2 tests run, 2 tests passed
50+ @
51+
52+source-repository head
53+ type: git
54+ location: https://john-millikin.com/code/chell/
55+
56+source-repository this
57+ type: git
58+ location: https://john-millikin.com/code/chell/
59+ tag: chell_0.4.0.2
60+
61+flag color-output
62+ description: Enable colored output in test results
63+ default: True
64+
65+library
66+ ghc-options: -Wall
67+
68+ build-depends:
69+ base >= 4.1 && < 5.0
70+ , bytestring >= 0.9
71+ , options >= 1.0 && < 2.0
72+ , patience >= 0.1 && < 0.2
73+ , random >= 1.0
74+ , template-haskell >= 2.3
75+ , text
76+ , transformers >= 0.2
77+
78+ if flag(color-output)
79+ build-depends:
80+ ansi-terminal >= 0.5 && < 0.8
81+
82+ exposed-modules:
83+ Test.Chell
84+
85+ other-modules:
86+ Test.Chell.Main
87+ Test.Chell.Output
88+ Test.Chell.Types
test/golden-test-cases/chell.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, ansi-terminal, base, bytestring, options, patience
2+, random, stdenv, template-haskell, text, transformers
3+}:
4+mkDerivation {
5+ pname = "chell";
6+ version = "0.4.0.2";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ ansi-terminal base bytestring options patience random
10+ template-haskell text transformers
11+ ];
12+ homepage = "https://john-millikin.com/software/chell/";
13+ description = "A simple and intuitive library for automated testing";
14+ license = stdenv.lib.licenses.mit;
15+}
test/golden-test-cases/clumpiness.cabalnew file+72
@@ -0,0 +1,72 @@
1+-- Initial clumpiness.cabal generated by cabal init. For further
2+-- documentation, see http://haskell.org/cabal/users-guide/
3+
4+-- The name of the package.
5+name: clumpiness
6+
7+-- The package version. See the Haskell package versioning policy (PVP)
8+-- for standards guiding when and how versions should be incremented.
9+-- http://www.haskell.org/haskellwiki/Package_versioning_policy
10+-- PVP summary: +-+------- breaking API changes
11+-- | | +----- non-breaking API additions
12+-- | | | +--- code changes with no API change
13+version: 0.17.0.0
14+
15+-- A short (one-line) description of the package.
16+synopsis: Calculate the clumpiness of leaf properties in a tree
17+
18+-- A longer description of the package.
19+-- description:
20+
21+-- The license under which the package is released.
22+license: GPL-3
23+
24+-- The file containing the license text.
25+license-file: LICENSE
26+
27+-- The package author(s).
28+author: Gregory Schwartz
29+
30+-- An email address to which users can send suggestions, bug reports, and
31+-- patches.
32+maintainer: gs394@drexel.edu
33+
34+-- A copyright notice.
35+-- copyright:
36+
37+category: Math
38+
39+build-type: Simple
40+
41+-- Extra files to be distributed with the package, such as examples or a
42+-- README.
43+-- extra-source-files:
44+
45+-- Constraint on the version of Cabal needed to build this package.
46+cabal-version: >=1.10
47+
48+
49+library
50+ -- Modules exported by the library.
51+ exposed-modules: Math.Clumpiness.Algorithms
52+ , Math.Clumpiness.Types
53+ , Math.Clumpiness.Utilities
54+ , Math.Clumpiness.Pinpoint
55+
56+ -- Modules included in this library but not exported.
57+ -- other-modules:
58+
59+ -- LANGUAGE extensions used by modules in this package.
60+ other-extensions: BangPatterns
61+
62+ -- Other library packages from which modules are imported.
63+ build-depends: base >=4.6 && <5
64+ , containers >=0.5
65+ , tree-fun >=0.7
66+
67+ -- Directories containing source files.
68+ hs-source-dirs: src
69+
70+ -- Base language which the package is written in.
71+ default-language: Haskell2010
72+
test/golden-test-cases/clumpiness.nix.goldennew file+9
@@ -0,0 +1,9 @@
1+{ mkDerivation, base, containers, stdenv, tree-fun }:
2+mkDerivation {
3+ pname = "clumpiness";
4+ version = "0.17.0.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base containers tree-fun ];
7+ description = "Calculate the clumpiness of leaf properties in a tree";
8+ license = stdenv.lib.licenses.gpl3;
9+}
test/golden-test-cases/code-page.cabalnew file+60
@@ -0,0 +1,60 @@
1+name: code-page
2+version: 0.1.3
3+synopsis: Windows code page library for Haskell
4+description: This library provides two modules:
5+ .
6+ * "System.IO.CodePage": a cross-platform module that exports
7+ functions which adjust code pages on Windows, and do nothing
8+ on other operating systems.
9+ .
10+ * "System.Win32.CodePage": On Windows, this exports functions
11+ for getting, setting, and analyzing code pages. On other
12+ operating systems, this module exports nothing.
13+homepage: https://github.com/RyanGlScott/code-page
14+bug-reports: https://github.com/RyanGlScott/code-page/issues
15+license: BSD3
16+license-file: LICENSE
17+author: Ryan Scott
18+maintainer: Ryan Scott <ryan.gl.scott@gmail.com>
19+stability: Provisional
20+copyright: (C) 2016-2017 Ryan Scott
21+category: System
22+build-type: Simple
23+extra-source-files: CHANGELOG.md, README.md, include/*.h
24+cabal-version: >=1.10
25+tested-with: GHC == 7.0.4
26+ , GHC == 7.2.2
27+ , GHC == 7.4.2
28+ , GHC == 7.6.3
29+ , GHC == 7.8.4
30+ , GHC == 7.10.3
31+ , GHC == 8.0.2
32+
33+source-repository head
34+ type: git
35+ location: https://github.com/RyanGlScott/code-page
36+
37+library
38+ exposed-modules: System.IO.CodePage
39+ System.Win32.CodePage
40+ build-depends: base >= 4.3 && < 5
41+ build-tools: hsc2hs
42+ if os(windows)
43+ include-dirs: include
44+ includes: windows_cconv.h
45+ cpp-options: "-DWINDOWS"
46+ build-depends: Win32
47+
48+ hs-source-dirs: src
49+ default-language: Haskell2010
50+ ghc-options: -Wall
51+
52+test-suite tests
53+ type: exitcode-stdio-1.0
54+ main-is: Tests.hs
55+
56+ build-depends: base >= 4.3 && < 5
57+ , code-page
58+
59+ hs-source-dirs: tests
60+ default-language: Haskell2010
test/golden-test-cases/code-page.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, stdenv }:
2+mkDerivation {
3+ pname = "code-page";
4+ version = "0.1.3";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base ];
7+ testHaskellDepends = [ base ];
8+ homepage = "https://github.com/RyanGlScott/code-page";
9+ description = "Windows code page library for Haskell";
10+ license = stdenv.lib.licenses.bsd3;
11+}
test/golden-test-cases/colorize-haskell.cabalnew file+33
@@ -0,0 +1,33 @@
1+name: colorize-haskell
2+version: 1.0.1
3+license: BSD3
4+license-file: LICENSE
5+author: Iavor S. Diatchki
6+maintainer: iavor.diatchki@gmail.com
7+homepage: http://github.com/yav/colorize-haskell
8+build-type: Simple
9+cabal-version: >= 1.2
10+synopsis: Highligt Haskell source
11+description: Highligt Haskell source
12+category: Development
13+
14+library
15+ build-depends:
16+ base >= 3 && < 5,
17+ haskell-lexer,
18+ ansi-terminal
19+ exposed-modules:
20+ Language.Haskell.Colorize
21+ ghc-options:
22+ -Wall -O2
23+
24+
25+executable hscolor
26+ main-is: Main.hs
27+ -- because we cannot depend on self:
28+ build-depends:
29+ base >= 3 && < 5,
30+ haskell-lexer,
31+ ansi-terminal
32+ ghc-options: -Wall -O2
33+
test/golden-test-cases/colorize-haskell.nix.goldennew file+13
@@ -0,0 +1,13 @@
1+{ mkDerivation, ansi-terminal, base, haskell-lexer, stdenv }:
2+mkDerivation {
3+ pname = "colorize-haskell";
4+ version = "1.0.1";
5+ sha256 = "deadbeef";
6+ isLibrary = true;
7+ isExecutable = true;
8+ libraryHaskellDepends = [ ansi-terminal base haskell-lexer ];
9+ executableHaskellDepends = [ ansi-terminal base haskell-lexer ];
10+ homepage = "http://github.com/yav/colorize-haskell";
11+ description = "Highligt Haskell source";
12+ license = stdenv.lib.licenses.bsd3;
13+}
test/golden-test-cases/countable.cabalnew file+78
@@ -0,0 +1,78 @@
1+cabal-version: >=1.14
2+name: countable
3+version: 1.0
4+x-follows-version-policy:
5+license: BSD3
6+license-file: LICENSE
7+copyright: Ashley Yakeley <ashley@semantic.org>
8+author: Ashley Yakeley <ashley@semantic.org>
9+maintainer: Ashley Yakeley <ashley@semantic.org>
10+homepage: https://github.com/AshleyYakeley/countable
11+bug-reports: https://github.com/AshleyYakeley/countable/issues
12+synopsis: Countable, Searchable, Finite, Empty classes
13+description:
14+ * @class Countable@, for countable types
15+ .
16+ * @class AtLeastOneCountable@, for countable types that have at least one value
17+ .
18+ * @class InfiniteCountable@, for infinite countable types
19+ .
20+ * @class Searchable@, for types that can be searched over. This turns out to include some infinite types, see <http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/>.
21+ .
22+ * @class Finite@, for finite types
23+ .
24+ * @class Empty@, for empty types
25+ .
26+ * @data Nothing@, an empty type
27+ .
28+ Some orphan instances:
29+ .
30+ * @(Searchable a,Eq b) => Eq (a -> b)@ / /
31+ .
32+ * @(Finite t) => Foldable ((->) t)@ / /
33+ .
34+ * @(Finite a) => Traversable ((->) a)@ / /
35+ .
36+ * @(Show a,Finite a,Show b) => Show (a -> b)@ / /
37+category: Data
38+build-type: Simple
39+
40+library
41+ hs-source-dirs: src
42+ default-language: Haskell2010
43+ default-extensions:
44+ ExistentialQuantification
45+ EmptyCase
46+ build-depends:
47+ base >= 4.8 && < 5
48+ exposed-modules:
49+ Data.Expression
50+ Data.Searchable
51+ Data.Countable
52+ Data.Empty
53+ ghc-options: -Wall
54+
55+test-suite tests
56+ type: exitcode-stdio-1.0
57+ hs-source-dirs: test
58+ default-language: Haskell2010
59+ default-extensions:
60+ ExistentialQuantification
61+ EmptyCase
62+ GeneralizedNewtypeDeriving
63+ ScopedTypeVariables
64+ build-depends:
65+ base >= 4.8 && < 5,
66+ countable,
67+ bytestring,
68+ silently,
69+ tasty,
70+ tasty-hunit,
71+ tasty-golden
72+ main-is: Count.hs
73+ other-modules:
74+ Show
75+ TypeName
76+ Three
77+ Golden
78+ ghc-options: -Wall
test/golden-test-cases/countable.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, base, bytestring, silently, stdenv, tasty
2+, tasty-golden, tasty-hunit
3+}:
4+mkDerivation {
5+ pname = "countable";
6+ version = "1.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base ];
9+ testHaskellDepends = [
10+ base bytestring silently tasty tasty-golden tasty-hunit
11+ ];
12+ homepage = "https://github.com/AshleyYakeley/countable";
13+ description = "Countable, Searchable, Finite, Empty classes";
14+ license = stdenv.lib.licenses.bsd3;
15+}
test/golden-test-cases/cpu.cabalnew file+81
@@ -0,0 +1,81 @@
1+Name: cpu
2+Version: 0.1.2
3+Description:
4+ Lowlevel cpu routines to get basic properties of the cpu platform, like endianness and architecture.
5+License: BSD3
6+License-file: LICENSE
7+Copyright: Vincent Hanquez <vincent@snarc.org>
8+Author: Vincent Hanquez <vincent@snarc.org>
9+Maintainer: Vincent Hanquez <vincent@snarc.org>
10+Synopsis: Cpu information and properties helpers.
11+Build-Type: Simple
12+Category: Data
13+stability: experimental
14+Cabal-Version: >=1.8
15+Homepage: http://github.com/vincenthz/hs-cpu
16+data-files: README.md
17+Extra-source-files: cbits/endian.c
18+
19+Flag executable
20+ Description: Build the executable
21+ Default: False
22+
23+Library
24+ Build-Depends: base >= 3 && < 5
25+ Exposed-modules: System.Cpuid
26+ System.Endian
27+ System.Arch
28+ ghc-options: -Wall
29+
30+ if impl(ghc < 7.8)
31+ C-sources: cbits/endian.c
32+
33+ if arch(i386)
34+ Cpp-options: -DARCH_X86
35+ if arch(x86_64)
36+ Cpp-options: -DARCH_X86_64
37+ if arch(ppc)
38+ Cpp-options: -DARCH_PPC
39+ if arch(ppc64)
40+ Cpp-options: -DARCH_PPC64
41+ if arch(sparc)
42+ Cpp-options: -DARCH_SPARC
43+ if arch(arm)
44+ Cpp-options: -DARCH_ARM
45+ if arch(mips)
46+ Cpp-options: -DARCH_MIPS
47+ if arch(sh)
48+ Cpp-options: -DARCH_SH
49+ if arch(ia64)
50+ Cpp-options: -DARCH_IA64
51+ if arch(s390)
52+ Cpp-options: -DARCH_S390
53+ if arch(alpha)
54+ Cpp-options: -DARCH_ALPHA
55+ if arch(hppa)
56+ Cpp-options: -DARCH_HPPA
57+ if arch(rs6000)
58+ Cpp-options: -DARCH_RS6000
59+ if arch(m68k)
60+ Cpp-options: -DARCH_M68K
61+ if arch(vax)
62+ Cpp-options: -DARCH_VAX
63+
64+ if arch(i386) || arch(x86_64)
65+ C-sources: cbits/cpuid.c
66+
67+executable cpuid
68+ hs-source-dirs: cpuid
69+ Main-is: Cpuid.hs
70+ if flag(executable)
71+ Buildable: True
72+ Build-Depends: base >= 3 && < 5
73+ , cpu
74+ , bytestring
75+ else
76+ Buildable: False
77+ ghc-options: -Wall -fno-warn-orphans -fno-warn-missing-signatures
78+
79+source-repository head
80+ type: git
81+ location: git://github.com/vincenthz/hs-cpu
test/golden-test-cases/cpu.nix.goldennew file+13
@@ -0,0 +1,13 @@
1+{ mkDerivation, base, stdenv }:
2+mkDerivation {
3+ pname = "cpu";
4+ version = "0.1.2";
5+ sha256 = "deadbeef";
6+ isLibrary = true;
7+ isExecutable = true;
8+ enableSeparateDataOutput = true;
9+ libraryHaskellDepends = [ base ];
10+ homepage = "http://github.com/vincenthz/hs-cpu";
11+ description = "Cpu information and properties helpers";
12+ license = stdenv.lib.licenses.bsd3;
13+}
test/golden-test-cases/criterion.cabalnew file+218
@@ -0,0 +1,218 @@
1+name: criterion
2+version: 1.2.6.0
3+synopsis: Robust, reliable performance measurement and analysis
4+license: BSD3
5+license-file: LICENSE
6+author: Bryan O'Sullivan <bos@serpentine.com>
7+maintainer: Bryan O'Sullivan <bos@serpentine.com>
8+copyright: 2009-2016 Bryan O'Sullivan and others
9+category: Development, Performance, Testing, Benchmarking
10+homepage: http://www.serpentine.com/criterion
11+bug-reports: https://github.com/bos/criterion/issues
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files:
15+ README.markdown
16+ changelog.md
17+ examples/*.cabal
18+ examples/*.hs
19+ examples/*.html
20+tested-with:
21+ GHC==7.4.2,
22+ GHC==7.6.3,
23+ GHC==7.8.4,
24+ GHC==7.10.3,
25+ GHC==8.0.2,
26+ GHC==8.2.2
27+
28+data-files:
29+ templates/*.css
30+ templates/*.tpl
31+ templates/js/jquery.criterion.js
32+
33+description:
34+ This library provides a powerful but simple way to measure software
35+ performance. It provides both a framework for executing and
36+ analysing benchmarks and a set of driver functions that makes it
37+ easy to build and run benchmarks, and to analyse their results.
38+ .
39+ The fastest way to get started is to read the
40+ <http://www.serpentine.com/criterion/tutorial.html online tutorial>,
41+ followed by the documentation and examples in the "Criterion.Main"
42+ module.
43+ .
44+ For examples of the kinds of reports that criterion generates, see
45+ <http://www.serpentine.com/criterion the home page>.
46+
47+flag fast
48+ description: compile without optimizations
49+ default: False
50+ manual: True
51+
52+flag embed-data-files
53+ description: Embed the data files in the binary for a relocatable executable.
54+ (Warning: This will increase the executable size significantly.)
55+ default: False
56+ manual: True
57+
58+library
59+ exposed-modules:
60+ Criterion
61+ Criterion.Analysis
62+ Criterion.IO
63+ Criterion.IO.Printf
64+ Criterion.Internal
65+ Criterion.Main
66+ Criterion.Main.Options
67+ Criterion.Measurement
68+ Criterion.Monad
69+ Criterion.Report
70+ Criterion.Types
71+
72+ other-modules:
73+ Criterion.Monad.Internal
74+ Criterion.Types.Internal
75+
76+ c-sources: cbits/cycles.c
77+ if os(darwin)
78+ c-sources: cbits/time-osx.c
79+ else {
80+ if os(windows)
81+ c-sources: cbits/time-windows.c
82+ else
83+ c-sources: cbits/time-posix.c
84+ }
85+
86+ other-modules:
87+ Paths_criterion
88+
89+ build-depends:
90+ aeson >= 0.8,
91+ ansi-wl-pprint >= 0.6.7.2,
92+ base >= 4.5 && < 5,
93+ base-compat >= 0.9,
94+ binary >= 0.5.1.0,
95+ bytestring >= 0.9 && < 1.0,
96+ cassava >= 0.3.0.0,
97+ code-page,
98+ containers,
99+ deepseq >= 1.1.0.0,
100+ directory,
101+ exceptions >= 0.8.2 && < 0.9,
102+ filepath,
103+ Glob >= 0.7.2,
104+ microstache >= 1.0.1 && < 1.1,
105+ js-flot,
106+ js-jquery,
107+ mtl >= 2,
108+ mwc-random >= 0.8.0.3,
109+ optparse-applicative >= 0.13,
110+ parsec >= 3.1.0,
111+ semigroups,
112+ statistics >= 0.14 && < 0.15,
113+ text >= 0.11,
114+ time,
115+ transformers,
116+ transformers-compat >= 0.4,
117+ vector >= 0.7.1,
118+ vector-algorithms >= 0.4
119+ if impl(ghc < 7.6)
120+ build-depends:
121+ ghc-prim
122+
123+ default-language: Haskell2010
124+ ghc-options: -Wall -funbox-strict-fields
125+ if impl(ghc >= 6.8)
126+ ghc-options: -fwarn-tabs
127+ if flag(fast)
128+ ghc-options: -O0
129+ else
130+ ghc-options: -O2
131+
132+ if flag(embed-data-files)
133+ other-modules: Criterion.EmbeddedData
134+ build-depends: file-embed < 0.1,
135+ template-haskell
136+ cpp-options: "-DEMBED"
137+
138+Executable criterion-report
139+ Default-Language: Haskell2010
140+ GHC-Options: -Wall -rtsopts
141+ Main-Is: Report.hs
142+ Other-Modules: Options
143+ Paths_criterion
144+ Hs-Source-Dirs: app
145+
146+ Build-Depends:
147+ base,
148+ criterion,
149+ optparse-applicative >= 0.13
150+
151+ if impl(ghc < 7.6)
152+ build-depends:
153+ ghc-prim
154+
155+test-suite sanity
156+ type: exitcode-stdio-1.0
157+ hs-source-dirs: tests
158+ main-is: Sanity.hs
159+ default-language: Haskell2010
160+ ghc-options: -Wall -rtsopts
161+ if flag(fast)
162+ ghc-options: -O0
163+ else
164+ ghc-options: -O2
165+
166+ build-depends:
167+ HUnit,
168+ base,
169+ bytestring,
170+ criterion,
171+ deepseq,
172+ tasty,
173+ tasty-hunit
174+
175+test-suite tests
176+ type: exitcode-stdio-1.0
177+ hs-source-dirs: tests
178+ main-is: Tests.hs
179+ default-language: Haskell2010
180+ other-modules: Properties
181+
182+ ghc-options:
183+ -Wall -threaded -O0 -rtsopts
184+
185+ build-depends:
186+ QuickCheck >= 2.4,
187+ base,
188+ criterion,
189+ statistics,
190+ HUnit,
191+ tasty,
192+ tasty-hunit,
193+ tasty-quickcheck,
194+ vector,
195+ aeson >= 0.8
196+
197+test-suite cleanup
198+ type: exitcode-stdio-1.0
199+ hs-source-dirs: tests
200+ default-language: Haskell2010
201+ main-is: Cleanup.hs
202+
203+ ghc-options:
204+ -Wall -threaded -O0 -rtsopts
205+
206+ build-depends:
207+ HUnit,
208+ base,
209+ bytestring,
210+ criterion,
211+ deepseq,
212+ directory,
213+ tasty,
214+ tasty-hunit
215+
216+source-repository head
217+ type: git
218+ location: https://github.com/bos/criterion.git
test/golden-test-cases/criterion.nix.goldennew file+31
@@ -0,0 +1,31 @@
1+{ mkDerivation, aeson, ansi-wl-pprint, base, base-compat, binary
2+, bytestring, cassava, code-page, containers, deepseq, directory
3+, exceptions, filepath, Glob, HUnit, js-flot, js-jquery
4+, microstache, mtl, mwc-random, optparse-applicative, parsec
5+, QuickCheck, semigroups, statistics, stdenv, tasty, tasty-hunit
6+, tasty-quickcheck, text, time, transformers, transformers-compat
7+, vector, vector-algorithms
8+}:
9+mkDerivation {
10+ pname = "criterion";
11+ version = "1.2.6.0";
12+ sha256 = "deadbeef";
13+ isLibrary = true;
14+ isExecutable = true;
15+ enableSeparateDataOutput = true;
16+ libraryHaskellDepends = [
17+ aeson ansi-wl-pprint base base-compat binary bytestring cassava
18+ code-page containers deepseq directory exceptions filepath Glob
19+ js-flot js-jquery microstache mtl mwc-random optparse-applicative
20+ parsec semigroups statistics text time transformers
21+ transformers-compat vector vector-algorithms
22+ ];
23+ executableHaskellDepends = [ base optparse-applicative ];
24+ testHaskellDepends = [
25+ aeson base bytestring deepseq directory HUnit QuickCheck statistics
26+ tasty tasty-hunit tasty-quickcheck vector
27+ ];
28+ homepage = "http://www.serpentine.com/criterion";
29+ description = "Robust, reliable performance measurement and analysis";
30+ license = stdenv.lib.licenses.bsd3;
31+}
test/golden-test-cases/crypt-sha512.cabalnew file+60
@@ -0,0 +1,60 @@
1+name: crypt-sha512
2+version: 0
3+synopsis: Pure Haskell implelementation for GNU SHA512 crypt algorithm
4+description:
5+ crypt() is the password encryption function. It is based on the Data
6+ Encryption Standard algorithm with variations intended (among other things) to
7+ discourage use of hardware implementations of a key search.
8+ .
9+ This package provides a pure Haskell implementation of SHA512 crypt scheme.
10+category: Data
11+license: BSD3
12+license-file: LICENSE
13+author: Oleg Grenrus <oleg.grenrus@iki.fi>
14+maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
15+copyright: 2017 Oleg Grenrus
16+homepage: https://github.com/phadej/crypt-sha512
17+bug-reports: https://github.com/phadej/crypt-sha512
18+extra-source-files: README.md
19+build-type: Simple
20+cabal-version: >= 1.10
21+tested-with:
22+ GHC==7.6.3,
23+ GHC==7.8.4,
24+ GHC==7.10.3,
25+ GHC==8.0.2,
26+ GHC==8.2.1
27+
28+source-repository head
29+ type: git
30+ location: git://github.com/phadej/crypt-sha512.git
31+
32+library
33+ exposed-modules: System.POSIX.Crypt.SHA512
34+ build-depends: base >=4.5 && <4.11,
35+ bytestring,
36+ attoparsec >=0.13.1.0 && <0.14,
37+ cryptohash-sha512 >=0.11.100.1 && <0.12
38+ default-language: Haskell2010
39+ hs-source-dirs: src
40+ ghc-options: -Wall
41+
42+test-suite example
43+ if !os(linux)
44+ buildable: False
45+
46+ build-depends: base,
47+ crypt-sha512,
48+ bytestring,
49+ tasty,
50+ tasty-hunit,
51+ tasty-quickcheck,
52+ quickcheck-instances
53+ default-language: Haskell2010
54+ main-is: Example.hs
55+ other-modules: System.POSIX.Crypt
56+ type: exitcode-stdio-1.0
57+ hs-source-dirs: test
58+ other-extensions: OverloadedStrings CApiFFI
59+ extra-libraries: crypt
60+ ghc-options: -Wall
test/golden-test-cases/crypt-sha512.nix.goldennew file+19
@@ -0,0 +1,19 @@
1+{ mkDerivation, attoparsec, base, bytestring, cryptohash-sha512
2+, quickcheck-instances, stdenv, tasty, tasty-hunit
3+, tasty-quickcheck
4+}:
5+mkDerivation {
6+ pname = "crypt-sha512";
7+ version = "0";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ attoparsec base bytestring cryptohash-sha512
11+ ];
12+ testHaskellDepends = [
13+ base bytestring quickcheck-instances tasty tasty-hunit
14+ tasty-quickcheck
15+ ];
16+ homepage = "https://github.com/phadej/crypt-sha512";
17+ description = "Pure Haskell implelementation for GNU SHA512 crypt algorithm";
18+ license = stdenv.lib.licenses.bsd3;
19+}
test/golden-test-cases/crypto-random-api.cabalnew file+23
@@ -0,0 +1,23 @@
1+Name: crypto-random-api
2+Version: 0.2.0
3+Description: Simple random generators API for cryptography related code
4+License: BSD3
5+License-file: LICENSE
6+Copyright: Vincent Hanquez <vincent@snarc.org>
7+Author: Vincent Hanquez <vincent@snarc.org>
8+Maintainer: Vincent Hanquez <vincent@snarc.org>
9+Synopsis: Simple random generators API for cryptography related code
10+Category: Cryptography
11+Build-Type: Simple
12+Homepage: http://github.com/vincenthz/hs-crypto-random-api
13+Cabal-Version: >=1.6
14+
15+Library
16+ Exposed-modules: Crypto.Random.API
17+ Build-depends: base >= 4 && < 5
18+ , bytestring
19+ , entropy
20+
21+source-repository head
22+ type: git
23+ location: git://github.com/vincenthz/hs-crypto-random-api
test/golden-test-cases/crypto-random-api.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, bytestring, entropy, stdenv }:
2+mkDerivation {
3+ pname = "crypto-random-api";
4+ version = "0.2.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base bytestring entropy ];
7+ homepage = "http://github.com/vincenthz/hs-crypto-random-api";
8+ description = "Simple random generators API for cryptography related code";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/csv.cabalnew file+23
@@ -0,0 +1,23 @@
1+Name: csv
2+Version: 0.1.2
3+Category: Text
4+Synopsis: CSV loader and dumper
5+cabal-version: >= 1.4
6+build-type: Simple
7+Description: CSV loader and dumper
8+ .
9+ This library parses and dumps documents that are formatted
10+ according to RFC 4180, \"The common Format and MIME Type for
11+ Comma-Separated Values (CSV) Files\". This format is used, among
12+ many other things, as a lingua franca for spreadsheets, and for
13+ certain web services.
14+Copyright: Jaap Weel, 2007
15+License: MIT
16+License-file: COPYING
17+Author: Jaap Weel <weel@ugcs.caltech.edu>
18+Maintainer: Jaap Weel <weel@ugcs.caltech.edu>
19+
20+Library
21+ Build-Depends: base, parsec, filepath
22+ build-depends: base >= 2 && < 5
23+ Exposed-modules: Text.CSV
test/golden-test-cases/csv.nix.goldennew file+9
@@ -0,0 +1,9 @@
1+{ mkDerivation, base, filepath, parsec, stdenv }:
2+mkDerivation {
3+ pname = "csv";
4+ version = "0.1.2";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base filepath parsec ];
7+ description = "CSV loader and dumper";
8+ license = stdenv.lib.licenses.mit;
9+}
test/golden-test-cases/data-accessor.cabalnew file+128
@@ -0,0 +1,128 @@
1+Name: data-accessor
2+Version: 0.2.2.7
3+License: BSD3
4+License-File: LICENSE
5+Author: Henning Thielemann <haskell@henning-thielemann.de>, Luke Palmer <lrpalmer@gmail.com>
6+Maintainer: Henning Thielemann <haskell@henning-thielemann.de>
7+Homepage: http://www.haskell.org/haskellwiki/Record_access
8+Category: Data
9+-- Default-Language: Haskell98
10+Cabal-Version: >=1.6
11+Build-Type: Simple
12+Tested-With: GHC==6.4.1, GHC==6.8.2, GHC==6.10.4, GHC==6.12.3
13+Tested-With: GHC==7.0.1, GHC==7.2.1, GHC==7.4.1, GHC==7.6.3
14+Tested-With: JHC==0.7.3
15+Synopsis: Utilities for accessing and manipulating fields of records
16+Description:
17+ In Haskell 98 the name of a record field
18+ is automatically also the name of a function which gets the value
19+ of the according field.
20+ E.g. if we have
21+ .
22+ data Pair a b = Pair {first :: a, second :: b}
23+ .
24+ then
25+ .
26+ > first :: Pair a b -> a
27+ > second :: Pair a b -> b
28+ .
29+ However for setting or modifying a field value
30+ we need to use some syntactic sugar, which is often clumsy.
31+ .
32+ modifyFirst :: (a -> a) -> (Pair a b -> Pair a b)
33+ modifyFirst f r\@(Pair {first=a}) = r{first = f a}
34+ .
35+ With this package you can define record field accessors
36+ which allow setting, getting and modifying values easily.
37+ The package clearly demonstrates the power of the functional approach:
38+ You can combine accessors of a record and sub-records,
39+ to make the access look like the fields of the sub-record belong to the main record.
40+ .
41+ Example:
42+ .
43+ > *Data.Accessor.Example> (first^:second^=10) (('b',7),"hallo")
44+ > (('b',10),"hallo")
45+ .
46+ You can easily manipulate record fields in a 'Control.Monad.State.State' monad,
47+ you can easily code 'Show' instances that use the Accessor syntax
48+ and you can parse binary streams into records.
49+ See @Data.Accessor.Example@ for demonstration of all features.
50+ .
51+ It would be great if in revised Haskell versions the names of record fields
52+ are automatically 'Data.Accessor.Accessor's
53+ rather than plain @get@ functions.
54+ For now, the package @data-accessor-template@ provides Template Haskell functions
55+ for automated generation of 'Data.Acesssor.Accessor's.
56+ See also the other @data-accessor@ packages
57+ that provide an Accessor interface to other data types.
58+ The package @enumset@ provides accessors to bit-packed records.
59+ .
60+ For similar packages see @lenses@ and @fclabel@.
61+ A related concept are editors
62+ <http://conal.net/blog/posts/semantic-editor-combinators/>.
63+ Editors only consist of a modify method
64+ (and @modify@ applied to a 'const' function is a @set@ function).
65+ This way, they can modify all function values of a function at once,
66+ whereas an accessor can only change a single function value,
67+ say, it can change @f 0 = 1@ to @f 0 = 2@.
68+ This way, editors can even change the type of a record or a function.
69+ An Arrow instance can be defined for editors,
70+ but for accessors only a Category instance is possible ('(.)' method).
71+ The reason is the @arr@ method of the @Arrow@ class,
72+ that conflicts with the two-way nature (set and get) of accessors.
73+
74+Extra-Source-Files:
75+ RegExp
76+ src-3/Data/Accessor/Private.hs
77+ src-4/Data/Accessor/Private.hs
78+
79+Source-Repository this
80+ Tag: 0.2.2.7
81+ Type: darcs
82+ Location: http://code.haskell.org/data-accessor/core/
83+
84+Source-Repository head
85+ Type: darcs
86+ Location: http://code.haskell.org/data-accessor/core/
87+
88+Flag category
89+ description: Check whether Arrow class is split into Arrow and Category.
90+
91+Flag splitBase
92+ description: Choose the smaller, split-up base package from version 2 on.
93+
94+Library
95+ Build-Depends:
96+ transformers >=0.2 && <0.6
97+ If flag(splitBase)
98+ Build-Depends:
99+ array >=0.1 && <0.6,
100+ containers >=0.1 && <0.6
101+ If flag(category)
102+ Hs-Source-Dirs: src-4
103+ Build-Depends: base >= 4 && <5
104+ Else
105+ Hs-Source-Dirs: src-3
106+ Build-Depends: base >= 2 && <4
107+ Else
108+ Hs-Source-Dirs: src-3
109+ Build-Depends:
110+ base >= 1 && <2
111+ If impl(jhc)
112+ Build-Depends:
113+ containers >=0.1 && <0.6
114+
115+ GHC-Options: -Wall
116+ Hs-Source-Dirs: src
117+ Exposed-Modules:
118+ Data.Accessor
119+ Data.Accessor.Basic
120+ Data.Accessor.Container
121+ Data.Accessor.Show
122+ Data.Accessor.Tuple
123+ Data.Accessor.BinaryRead
124+ Data.Accessor.MonadState
125+ Other-Modules:
126+ Data.Accessor.Example
127+ Data.Accessor.Private
128+ Data.Accessor.MonadStatePrivate
test/golden-test-cases/data-accessor.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, array, base, containers, stdenv, transformers }:
2+mkDerivation {
3+ pname = "data-accessor";
4+ version = "0.2.2.7";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ array base containers transformers ];
7+ homepage = "http://www.haskell.org/haskellwiki/Record_access";
8+ description = "Utilities for accessing and manipulating fields of records";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/data-default-instances-containers.cabalnew file+18
@@ -0,0 +1,18 @@
1+Name: data-default-instances-containers
2+Version: 0.0.1
3+Cabal-Version: >= 1.6
4+Category: Data
5+Synopsis: Default instances for types in containers
6+Build-Type: Simple
7+License: BSD3
8+License-File: LICENSE
9+Author: Lukas Mai
10+Maintainer: <l.mai@web.de>
11+
12+source-repository head
13+ type: git
14+ location: https://github.com/mauke/data-default
15+
16+Library
17+ Build-Depends: base >=2 && <5, data-default-class, containers
18+ Exposed-Modules: Data.Default.Instances.Containers
test/golden-test-cases/data-default-instances-containers.nix.goldennew file+9
@@ -0,0 +1,9 @@
1+{ mkDerivation, base, containers, data-default-class, stdenv }:
2+mkDerivation {
3+ pname = "data-default-instances-containers";
4+ version = "0.0.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base containers data-default-class ];
7+ description = "Default instances for types in containers";
8+ license = stdenv.lib.licenses.bsd3;
9+}
test/golden-test-cases/data-endian.cabalnew file+30
@@ -0,0 +1,30 @@
1+Name: data-endian
2+Version: 0.1.1
3+Category: Data
4+Stability: experimental
5+Synopsis: Endian-sensitive data
6+Description:
7+ This package provides helpers for converting endian-sensitive data.
8+
9+Homepage: https://github.com/mvv/data-endian
10+Bug-Reports: https://github.com/mvv/data-endian/issues
11+
12+Author: Mikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com>
13+Maintainer: Mikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com>
14+Copyright: 2011-2016 Mikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com>
15+License: BSD3
16+License-File: LICENSE
17+
18+Cabal-Version: >= 1.6.0
19+Build-Type: Simple
20+
21+Source-Repository head
22+ Type: git
23+ Location: https://github.com/mvv/data-endian.git
24+
25+Library
26+ Build-Depends: base >= 4 && < 5
27+ Hs-Source-Dirs: src
28+ GHC-Options: -Wall
29+ Exposed-Modules:
30+ Data.Endian
test/golden-test-cases/data-endian.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, stdenv }:
2+mkDerivation {
3+ pname = "data-endian";
4+ version = "0.1.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base ];
7+ homepage = "https://github.com/mvv/data-endian";
8+ description = "Endian-sensitive data";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/data-msgpack.cabalnew file+114
@@ -0,0 +1,114 @@
1+name: data-msgpack
2+version: 0.0.10
3+synopsis: A Haskell implementation of MessagePack
4+homepage: http://msgpack.org/
5+license: BSD3
6+license-file: LICENSE
7+author: Hideyuki Tanaka
8+maintainer: Iphigenia Df <iphydf@gmail.com>
9+copyright: Copyright (c) 2009-2016, Hideyuki Tanaka
10+category: Data
11+stability: Experimental
12+cabal-version: >= 1.10
13+build-type: Simple
14+description:
15+ A Haskell implementation of MessagePack <http://msgpack.org/>
16+ .
17+ This is a fork of msgpack-haskell <https://github.com/msgpack/msgpack-haskell>,
18+ since the original author is unreachable. This fork incorporates a number of
19+ bugfixes and is actively being developed.
20+
21+source-repository head
22+ type: git
23+ location: https://github.com/TokTok/hs-msgpack.git
24+
25+library
26+ default-language: Haskell2010
27+ hs-source-dirs:
28+ src
29+ ghc-options:
30+ -Wall
31+ -fno-warn-unused-imports
32+ exposed-modules:
33+ Data.MessagePack
34+ Data.MessagePack.Option
35+ Data.MessagePack.Result
36+ other-modules:
37+ Data.MessagePack.Assoc
38+ Data.MessagePack.Class
39+ Data.MessagePack.Generic
40+ Data.MessagePack.Get
41+ Data.MessagePack.Instances
42+ Data.MessagePack.Object
43+ Data.MessagePack.Put
44+ build-depends:
45+ base < 5
46+ , QuickCheck
47+ , binary >= 0.7.0.0
48+ , bytestring
49+ , containers
50+ , data-binary-ieee754
51+ , deepseq
52+ , hashable
53+ , text
54+ , unordered-containers
55+ , vector
56+ , void
57+
58+executable msgpack-parser
59+ default-language: Haskell2010
60+ hs-source-dirs:
61+ tools
62+ ghc-options:
63+ -Wall
64+ -fno-warn-unused-imports
65+ build-depends:
66+ base < 5
67+ , bytestring
68+ , groom
69+ , data-msgpack
70+ main-is: msgpack-parser.hs
71+
72+test-suite testsuite
73+ type: exitcode-stdio-1.0
74+ default-language: Haskell2010
75+ hs-source-dirs: test
76+ main-is: testsuite.hs
77+ other-modules:
78+ Data.MessagePack.OptionSpec
79+ Data.MessagePack.ResultSpec
80+ Data.MessagePackSpec
81+ ghc-options:
82+ -Wall
83+ -fno-warn-unused-imports
84+ build-depends:
85+ base < 5
86+ , QuickCheck
87+ , bytestring
88+ , containers
89+ , data-msgpack
90+ , hashable
91+ , hspec
92+ , text
93+ , unordered-containers
94+ , vector
95+ , void
96+
97+benchmark benchmark
98+ type: exitcode-stdio-1.0
99+ default-language: Haskell2010
100+ hs-source-dirs: bench
101+ main-is: benchmark.hs
102+ other-modules:
103+ Data.MessagePack.IntBench
104+ Data.MessagePackBench
105+ ghc-options:
106+ -Wall
107+ -fno-warn-unused-imports
108+ build-depends:
109+ base < 5
110+ , QuickCheck
111+ , bytestring
112+ , criterion
113+ , data-msgpack
114+ , deepseq
test/golden-test-cases/data-msgpack.nix.goldennew file+26
@@ -0,0 +1,26 @@
1+{ mkDerivation, base, binary, bytestring, containers, criterion
2+, data-binary-ieee754, deepseq, groom, hashable, hspec, QuickCheck
3+, stdenv, text, unordered-containers, vector, void
4+}:
5+mkDerivation {
6+ pname = "data-msgpack";
7+ version = "0.0.10";
8+ sha256 = "deadbeef";
9+ isLibrary = true;
10+ isExecutable = true;
11+ libraryHaskellDepends = [
12+ base binary bytestring containers data-binary-ieee754 deepseq
13+ hashable QuickCheck text unordered-containers vector void
14+ ];
15+ executableHaskellDepends = [ base bytestring groom ];
16+ testHaskellDepends = [
17+ base bytestring containers hashable hspec QuickCheck text
18+ unordered-containers vector void
19+ ];
20+ benchmarkHaskellDepends = [
21+ base bytestring criterion deepseq QuickCheck
22+ ];
23+ homepage = "http://msgpack.org/";
24+ description = "A Haskell implementation of MessagePack";
25+ license = stdenv.lib.licenses.bsd3;
26+}
test/golden-test-cases/data-serializer.cabalnew file+60
@@ -0,0 +1,60 @@
1+Name: data-serializer
2+Version: 0.3.2
3+Category: Data
4+Stability: experimental
5+Synopsis: Common API for serialization libraries
6+Description:
7+ This package provides a common API for serialization libraries like
8+ <http://hackage.haskell.org/package/binary binary> and
9+ <http://hackage.haskell.org/package/cereal cereal>.
10+
11+Homepage: https://github.com/mvv/data-serializer
12+Bug-Reports: https://github.com/mvv/data-serializer/issues
13+
14+Author: Mikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com>
15+Maintainer: Mikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com>
16+Copyright: 2016 Mikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com>
17+License: BSD3
18+License-File: LICENSE
19+
20+Extra-Source-Files:
21+ README.md
22+
23+Tested-With: GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
24+
25+Cabal-Version: >= 1.10.0
26+Build-Type: Simple
27+
28+Source-Repository head
29+ Type: git
30+ Location: https://github.com/mvv/data-serializer.git
31+
32+Library
33+ Default-Language: Haskell2010
34+ Build-Depends: base >= 4.8 && < 5
35+ , semigroups >= 0.18.2
36+ , bytestring >= 0.10.4
37+ , binary >= 0.7.2
38+ , cereal >= 0.4.1
39+ , data-endian >= 0.1.1
40+ , parsers >= 0.12.3
41+ , split >= 0.2
42+ Hs-Source-Dirs: src
43+ GHC-Options: -Wall
44+ Exposed-Modules:
45+ Data.Serializer
46+ Data.Deserializer
47+
48+Test-Suite tests
49+ Default-Language: Haskell2010
50+ Type: exitcode-stdio-1.0
51+ Build-Depends: base
52+ , bytestring
53+ , binary
54+ , cereal
55+ , tasty >= 0.8
56+ , tasty-quickcheck >= 0.8
57+ , data-serializer
58+ Hs-Source-Dirs: tests
59+ GHC-Options: -Wall
60+ Main-Is: Tests.hs
test/golden-test-cases/data-serializer.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, base, binary, bytestring, cereal, data-endian
2+, parsers, semigroups, split, stdenv, tasty, tasty-quickcheck
3+}:
4+mkDerivation {
5+ pname = "data-serializer";
6+ version = "0.3.2";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base binary bytestring cereal data-endian parsers semigroups split
10+ ];
11+ testHaskellDepends = [
12+ base binary bytestring cereal tasty tasty-quickcheck
13+ ];
14+ homepage = "https://github.com/mvv/data-serializer";
15+ description = "Common API for serialization libraries";
16+ license = stdenv.lib.licenses.bsd3;
17+}
test/golden-test-cases/deque.cabalnew file+45
@@ -0,0 +1,45 @@
1+name:
2+ deque
3+version:
4+ 0.2
5+synopsis:
6+ Double-ended queue
7+description:
8+ An implementation of Double-Ended Queue (aka Dequeue or Deque)
9+ based on the head-tail linked list.
10+homepage:
11+ https://github.com/nikita-volkov/deque
12+bug-reports:
13+ https://github.com/nikita-volkov/deque/issues
14+author:
15+ Nikita Volkov <nikita.y.volkov@mail.ru>
16+maintainer:
17+ Nikita Volkov <nikita.y.volkov@mail.ru>
18+copyright:
19+ (c) 2016, Nikita Volkov
20+license:
21+ MIT
22+license-file:
23+ LICENSE
24+build-type:
25+ Simple
26+cabal-version:
27+ >=1.10
28+
29+source-repository head
30+ type:
31+ git
32+ location:
33+ git://github.com/nikita-volkov/deque.git
34+
35+library
36+ hs-source-dirs:
37+ library
38+ default-extensions:
39+ DeriveFunctor, StandaloneDeriving
40+ default-language:
41+ Haskell2010
42+ exposed-modules:
43+ Deque
44+ build-depends:
45+ base >= 4.6 && < 5
test/golden-test-cases/deque.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, stdenv }:
2+mkDerivation {
3+ pname = "deque";
4+ version = "0.2";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base ];
7+ homepage = "https://github.com/nikita-volkov/deque";
8+ description = "Double-ended queue";
9+ license = stdenv.lib.licenses.mit;
10+}
test/golden-test-cases/dhall-bash.cabalnew file+54
@@ -0,0 +1,54 @@
1+Name: dhall-bash
2+Version: 1.0.6
3+Cabal-Version: >=1.8.0.2
4+Build-Type: Simple
5+Tested-With: GHC == 7.10.2, GHC == 8.0.1
6+License: BSD3
7+License-File: LICENSE
8+Copyright: 2017 Gabriel Gonzalez
9+Author: Gabriel Gonzalez
10+Maintainer: Gabriel439@gmail.com
11+Bug-Reports: https://github.com/Gabriel439/Haskell-Dhall-Bash-Library/issues
12+Synopsis: Compile Dhall to Bash
13+Description:
14+ Use this package if you want to compile Dhall expressions to Bash.
15+ You can use this package as a library or an executable:
16+ .
17+ * See the "Dhall.Bash" module if you want to use this package as a library
18+ .
19+ * Use the @dhall-to-bash@ if you want an executable
20+ .
21+ The "Dhall.Bash" module also contains instructions for how to use this
22+ package
23+Category: Compiler
24+Source-Repository head
25+ Type: git
26+ Location: https://github.com/Gabriel439/Haskell-Dhall-Bash-Library
27+
28+Library
29+ Hs-Source-Dirs: src
30+ Build-Depends:
31+ base >= 4.8.0.0 && < 5 ,
32+ bytestring < 0.11,
33+ containers < 0.6 ,
34+ dhall >= 1.0.1 && < 1.9 ,
35+ neat-interpolation < 0.4 ,
36+ shell-escape < 0.3 ,
37+ text-format < 0.4 ,
38+ text >= 0.2 && < 1.3 ,
39+ vector >= 0.3 && < 0.13
40+ Exposed-Modules: Dhall.Bash
41+ GHC-Options: -Wall
42+
43+Executable dhall-to-bash
44+ Hs-Source-Dirs: exec
45+ Main-Is: Main.hs
46+ Build-Depends:
47+ base ,
48+ bytestring ,
49+ dhall ,
50+ dhall-bash ,
51+ optparse-generic >= 1.1.1 && < 1.3 ,
52+ trifecta >= 1.6 && < 1.8 ,
53+ text
54+ GHC-Options: -Wall
test/golden-test-cases/dhall-bash.nix.goldennew file+20
@@ -0,0 +1,20 @@
1+{ mkDerivation, base, bytestring, containers, dhall
2+, neat-interpolation, optparse-generic, shell-escape, stdenv, text
3+, text-format, trifecta, vector
4+}:
5+mkDerivation {
6+ pname = "dhall-bash";
7+ version = "1.0.6";
8+ sha256 = "deadbeef";
9+ isLibrary = true;
10+ isExecutable = true;
11+ libraryHaskellDepends = [
12+ base bytestring containers dhall neat-interpolation shell-escape
13+ text text-format vector
14+ ];
15+ executableHaskellDepends = [
16+ base bytestring dhall optparse-generic text trifecta
17+ ];
18+ description = "Compile Dhall to Bash";
19+ license = stdenv.lib.licenses.bsd3;
20+}
test/golden-test-cases/diagrams-solve.cabalnew file+42
@@ -0,0 +1,42 @@
1+name: diagrams-solve
2+version: 0.1.1
3+synopsis: Pure Haskell solver routines used by diagrams
4+description: Pure Haskell solver routines used by the diagrams
5+ project. Currently includes finding real roots
6+ of low-degree (n < 5) polynomials, and solving
7+ tridiagonal and cyclic tridiagonal linear
8+ systems.
9+homepage: http://projects.haskell.org/diagrams
10+license: BSD3
11+license-file: LICENSE
12+author: various
13+maintainer: diagrams-discuss@googlegroups.com
14+category: Math
15+build-type: Simple
16+extra-source-files: README.markdown, CHANGES.markdown
17+cabal-version: >=1.10
18+Tested-with: GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1, GHC == 8.2.1
19+Source-repository head
20+ type: git
21+ location: http://github.com/diagrams/diagrams-solve.git
22+
23+library
24+ exposed-modules: Diagrams.Solve.Polynomial,
25+ Diagrams.Solve.Tridiagonal
26+ build-depends: base >=4.5 && < 4.11
27+ hs-source-dirs: src
28+ default-language: Haskell2010
29+
30+test-suite tests
31+ type: exitcode-stdio-1.0
32+ main-is: Test.hs
33+ -- other-modules: Instances
34+ hs-source-dirs: tests
35+ default-language: Haskell2010
36+ build-depends: base >= 4.2 && < 4.11,
37+ tasty >= 0.10 && < 0.12,
38+ tasty-hunit >= 0.9.2 && < 0.10,
39+ tasty-quickcheck >= 0.8 && < 0.9,
40+ deepseq >= 1.3 && < 1.5,
41+ diagrams-solve
42+
test/golden-test-cases/diagrams-solve.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, base, deepseq, stdenv, tasty, tasty-hunit
2+, tasty-quickcheck
3+}:
4+mkDerivation {
5+ pname = "diagrams-solve";
6+ version = "0.1.1";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base ];
9+ testHaskellDepends = [
10+ base deepseq tasty tasty-hunit tasty-quickcheck
11+ ];
12+ homepage = "http://projects.haskell.org/diagrams";
13+ description = "Pure Haskell solver routines used by diagrams";
14+ license = stdenv.lib.licenses.bsd3;
15+}
test/golden-test-cases/discrimination.cabalnew file+76
@@ -0,0 +1,76 @@
1+name: discrimination
2+category: Data, Sorting
3+version: 0.3
4+license: BSD3
5+cabal-version: >= 1.10
6+license-file: LICENSE
7+author: Edward A. Kmett
8+maintainer: Edward A. Kmett <ekmett@gmail.com>
9+stability: experimental
10+homepage: http://github.com/ekmett/discrimination/
11+bug-reports: http://github.com/ekmett/discrimination/issues
12+copyright: Copyright (C) 2014-2015 Edward A. Kmett
13+build-type: Simple
14+tested-with: GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1
15+synopsis: Fast generic linear-time sorting, joins and container construction.
16+description:
17+ This package provides fast, generic, linear-time discrimination and sorting.
18+ .
19+ The techniques applied are based on <http://www.diku.dk/hjemmesider/ansatte/henglein/papers/henglein2011a.pdf multiple> <http://www.diku.dk/hjemmesider/ansatte/henglein/papers/henglein2011c.pdf papers> and <https://www.youtube.com/watch?v=sz9ZlZIRDAg talks> by <http://www.diku.dk/hjemmesider/ansatte/henglein/ Fritz Henglein>.
20+
21+extra-source-files:
22+ .gitignore
23+ README.markdown
24+ CHANGELOG.markdown
25+ HLint.hs
26+
27+source-repository head
28+ type: git
29+ location: git://github.com/ekmett/discrimination.git
30+
31+library
32+ default-language: Haskell2010
33+ ghc-options: -Wall -O2
34+ hs-source-dirs: src
35+
36+ exposed-modules:
37+ Data.Discrimination
38+ Data.Discrimination.Class
39+ Data.Discrimination.Grouping
40+ Data.Discrimination.Internal
41+ Data.Discrimination.Internal.SmallArray
42+ Data.Discrimination.Internal.WordMap
43+ Data.Discrimination.Sorting
44+
45+ build-depends:
46+ array >= 0.5 && < 0.6,
47+ base >= 4.8 && < 5,
48+ containers >= 0.4 && < 0.6,
49+ contravariant >= 1.3.1 && < 2,
50+ deepseq >= 1.3 && < 1.5,
51+ ghc-prim,
52+ hashable >= 1.2 && < 1.3,
53+ primitive >= 0.6 && < 0.7,
54+ profunctors >= 5 && < 6,
55+ promises >= 0.2 && < 0.4,
56+ semigroups >= 0.16.2 && < 1,
57+ transformers >= 0.2 && < 0.6,
58+ transformers-compat >= 0.3 && < 1,
59+ vector >= 0.10 && < 0.13,
60+ void >= 0.5 && < 1
61+
62+benchmark wordmap
63+ type: exitcode-stdio-1.0
64+ main-is: wordmap.hs
65+ ghc-options: -Wall -O2 -threaded
66+ hs-source-dirs: benchmarks
67+ default-language: Haskell2010
68+ build-depends:
69+ base >= 4.9,
70+ containers,
71+ criterion,
72+ deepseq,
73+ discrimination,
74+ ghc-prim,
75+ unordered-containers,
76+ primitive
test/golden-test-cases/discrimination.nix.goldennew file+22
@@ -0,0 +1,22 @@
1+{ mkDerivation, array, base, containers, contravariant, criterion
2+, deepseq, ghc-prim, hashable, primitive, profunctors, promises
3+, semigroups, stdenv, transformers, transformers-compat
4+, unordered-containers, vector, void
5+}:
6+mkDerivation {
7+ pname = "discrimination";
8+ version = "0.3";
9+ sha256 = "deadbeef";
10+ libraryHaskellDepends = [
11+ array base containers contravariant deepseq ghc-prim hashable
12+ primitive profunctors promises semigroups transformers
13+ transformers-compat vector void
14+ ];
15+ benchmarkHaskellDepends = [
16+ base containers criterion deepseq ghc-prim primitive
17+ unordered-containers
18+ ];
19+ homepage = "http://github.com/ekmett/discrimination/";
20+ description = "Fast generic linear-time sorting, joins and container construction";
21+ license = stdenv.lib.licenses.bsd3;
22+}
test/golden-test-cases/dotenv.cabalnew file+153
@@ -0,0 +1,153 @@
1+name: dotenv
2+version: 0.5.2.1
3+synopsis: Loads environment variables from dotenv files
4+homepage: https://github.com/stackbuilders/dotenv-hs
5+description:
6+ .
7+ In most applications,
8+ <http://12factor.net/config configuration should be separated from code>.
9+ While it usually works well to keep configuration in the
10+ environment, there are cases where you may want to store
11+ configuration in a file outside of version control.
12+ .
13+ "Dotenv" files have become popular for storing configuration,
14+ especially in development and test environments. In
15+ <https://github.com/bkeepers/dotenv Ruby>,
16+ <https://github.com/theskumar/python-dotenv Python> and
17+ <https://www.npmjs.com/package/dotenv Javascript> there are libraries
18+ to facilitate loading of configuration options from configuration
19+ files. This library loads configuration to environment variables for
20+ programs written in Haskell.
21+ .
22+ To use, call `loadFile` from your application:
23+ .
24+ > import Configuration.Dotenv
25+ > loadFile False "/my/dotenvfile"
26+ .
27+ This package also includes an executable that can be used
28+ to inspect the results of applying one or more Dotenv files
29+ to the environment, or for invoking your executables with
30+ an environment after one or more Dotenv files is applied.
31+ .
32+ See the <https://github.com/stackbuilders/dotenv-hs Github>
33+ page for more information on this package.
34+license: MIT
35+license-file: LICENSE
36+author: Justin Leitgeb
37+maintainer: hackage@stackbuilders.com
38+copyright: 2015-2017 Stack Builders Inc.
39+category: Configuration
40+build-type: Simple
41+extra-source-files: spec/fixtures/.dotenv
42+ , CHANGELOG.md
43+ , README.md
44+cabal-version: >=1.10
45+bug-reports: https://github.com/stackbuilders/dotenv-hs/issues
46+
47+data-dir: spec/fixtures/
48+data-files:
49+ .dotenv
50+ .dotenv.example
51+ .scheme.yml
52+
53+flag dev
54+ description: Turn on development settings.
55+ manual: True
56+ default: False
57+
58+executable dotenv
59+ main-is: Main.hs
60+ build-depends: base >=4.7 && <5.0
61+ , base-compat >= 0.4
62+ , dotenv
63+ , optparse-applicative >=0.11 && < 0.15
64+ , megaparsec >= 6.0 && < 7.0
65+ , process >= 1.4.3.0
66+ , text
67+ , transformers >=0.4 && < 0.6
68+ , yaml
69+ other-modules: Paths_dotenv
70+
71+ hs-source-dirs: app
72+ if flag(dev)
73+ ghc-options: -Wall -Werror
74+ else
75+ ghc-options: -O2 -Wall
76+ default-language: Haskell2010
77+
78+library
79+ exposed-modules: Configuration.Dotenv
80+ , Configuration.Dotenv.Parse
81+ , Configuration.Dotenv.ParsedVariable
82+ , Configuration.Dotenv.Text
83+ , Configuration.Dotenv.Types
84+ , Configuration.Dotenv.Scheme
85+ , Configuration.Dotenv.Scheme.Helpers
86+ , Configuration.Dotenv.Scheme.Parser
87+ , Configuration.Dotenv.Scheme.Types
88+
89+ build-depends: base >=4.7 && <5.0
90+ , base-compat >= 0.4
91+ , directory
92+ , megaparsec >= 6.0 && < 7.0
93+ , process >= 1.4.3.0
94+ , text
95+ , transformers >=0.4 && < 0.6
96+ , exceptions >= 0.8 && < 0.9
97+ , yaml
98+
99+ if !impl(ghc >= 7.10)
100+ build-depends: void == 0.7.*
101+
102+ hs-source-dirs: src
103+ ghc-options: -Wall
104+ if flag(dev)
105+ ghc-options: -Wall -Werror
106+ else
107+ ghc-options: -O2 -Wall
108+ default-language: Haskell2010
109+
110+test-suite dotenv-test
111+ type: exitcode-stdio-1.0
112+ hs-source-dirs: spec, src
113+ main-is: Spec.hs
114+ other-modules: Configuration.DotenvSpec
115+ , Configuration.Dotenv.TextSpec
116+ , Configuration.Dotenv.ParseSpec
117+ , Configuration.Dotenv
118+ , Configuration.Dotenv.Text
119+ , Configuration.Dotenv.Types
120+ , Configuration.Dotenv.Parse
121+ , Configuration.Dotenv.ParsedVariable
122+ , Configuration.Dotenv.SchemeSpec
123+ , Configuration.Dotenv.Scheme.ParseSpec
124+ , Configuration.Dotenv.Scheme
125+ , Configuration.Dotenv.Scheme.Helpers
126+ , Configuration.Dotenv.Scheme.Parser
127+ , Configuration.Dotenv.Scheme.Types
128+
129+ build-depends: base >=4.7 && <5.0
130+ , base-compat >= 0.4
131+ , dotenv
132+ , directory
133+ , megaparsec >= 6.0 && < 7.0
134+ , hspec
135+ , process >= 1.4.3.0
136+ , text
137+ , transformers >=0.4 && < 0.6
138+ , exceptions >= 0.8 && < 0.9
139+ , hspec-megaparsec >= 1.0 && < 2.0
140+ , yaml
141+
142+ if !impl(ghc >= 7.10)
143+ build-depends: void == 0.7.*
144+
145+ if flag(dev)
146+ ghc-options: -Wall -Werror
147+ else
148+ ghc-options: -O2 -Wall
149+ default-language: Haskell2010
150+
151+source-repository head
152+ type: git
153+ location: git@github.com:stackbuilders/dotenv-hs.git
test/golden-test-cases/dotenv.nix.goldennew file+27
@@ -0,0 +1,27 @@
1+{ mkDerivation, base, base-compat, directory, exceptions, hspec
2+, hspec-megaparsec, megaparsec, optparse-applicative, process
3+, stdenv, text, transformers, yaml
4+}:
5+mkDerivation {
6+ pname = "dotenv";
7+ version = "0.5.2.1";
8+ sha256 = "deadbeef";
9+ isLibrary = true;
10+ isExecutable = true;
11+ enableSeparateDataOutput = true;
12+ libraryHaskellDepends = [
13+ base base-compat directory exceptions megaparsec process text
14+ transformers yaml
15+ ];
16+ executableHaskellDepends = [
17+ base base-compat megaparsec optparse-applicative process text
18+ transformers yaml
19+ ];
20+ testHaskellDepends = [
21+ base base-compat directory exceptions hspec hspec-megaparsec
22+ megaparsec process text transformers yaml
23+ ];
24+ homepage = "https://github.com/stackbuilders/dotenv-hs";
25+ description = "Loads environment variables from dotenv files";
26+ license = stdenv.lib.licenses.mit;
27+}
test/golden-test-cases/dotnet-timespan.cabalnew file+79
@@ -0,0 +1,79 @@
1+-- Initial eventstore.cabal generated by cabal init. For further
2+-- documentation, see http://haskell.org/cabal/users-guide/
3+
4+-- The name of the package.
5+name: dotnet-timespan
6+
7+-- The package version. See the Haskell package versioning policy (PVP)
8+-- for standards guiding when and how versions should be incremented.
9+-- http://www.haskell.org/haskellwiki/Package_versioning_policy
10+-- PVP summary: +-+------- breaking API changes
11+-- | | +----- non-breaking API additions
12+-- | | | +--- code changes with no API change
13+version: 0.0.1.0
14+
15+tested-with: GHC >= 7.8.3 && < 7.11
16+
17+-- A short (one-line) description of the package.
18+synopsis: .NET TimeSpan
19+
20+-- A longer description of the package.
21+description: .NET TimeSpan
22+
23+-- The license under which the package is released.
24+license: BSD3
25+
26+-- The file containing the license text.
27+license-file: LICENSE
28+
29+-- The package author(s).
30+author: Yorick Laupa
31+
32+-- An email address to which users can send suggestions, bug reports, and
33+-- patches.
34+maintainer: yo.eight@gmail.com
35+
36+-- A copyright notice.
37+-- copyright:
38+
39+homepage: http://github.com/YoEight/dotnet-timespan
40+bug-reports: http://github.com/YoEight/dotnet-timespan/issues
41+category: Data
42+
43+build-type: Simple
44+
45+-- Extra files to be distributed with the package, such as examples or a
46+-- README.
47+extra-source-files: README.md
48+ CHANGELOG.markdown
49+ .gitignore
50+ .travis.yml
51+
52+-- Constraint on the version of Cabal needed to build this package.
53+cabal-version: >=1.10
54+
55+source-repository head
56+ type: git
57+ location: git://github.com/YoEight/dotnet-timespan.git
58+
59+library
60+ -- Modules exported by the library.
61+ exposed-modules: Data.DotNet.TimeSpan
62+ Data.DotNet.TimeSpan.Internal
63+ -- Modules included in this library but not exported.
64+ -- other-modules:
65+
66+ -- LANGUAGE extensions used by modules in this package.
67+ -- other-extensions:
68+
69+ -- Other library packages from which modules are imported.
70+ build-depends: base >=4.7 && <5
71+
72+
73+ -- Directories containing source files.
74+ -- hs-source-dirs:
75+
76+ -- Base language which the package is written in.
77+ ghc-options: -Wall
78+
79+ default-language: Haskell2010
test/golden-test-cases/dotnet-timespan.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, stdenv }:
2+mkDerivation {
3+ pname = "dotnet-timespan";
4+ version = "0.0.1.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base ];
7+ homepage = "http://github.com/YoEight/dotnet-timespan";
8+ description = ".NET TimeSpan";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/dpor.cabalnew file+74
@@ -0,0 +1,74 @@
1+-- Initial dpor.cabal generated by cabal init. For further documentation,
2+-- see http://haskell.org/cabal/users-guide/
3+
4+name: dpor
5+version: 0.2.0.0
6+synopsis: A generic implementation of dynamic partial-order reduction (DPOR) for testing arbitrary models of concurrency.
7+
8+description:
9+ We can characterise the state of a concurrent computation by
10+ considering the ordering of dependent events. This is a partial
11+ order: independent events can be performed in any order without
12+ affecting the result. DPOR is a technique for computing these
13+ partial orders at run-time, and only testing one total order for
14+ each partial order. This cuts down the amount of work to be done
15+ significantly. In particular, this package implemented bounded
16+ partial-order reduction, which is a further optimisation. Only
17+ schedules within some *bound* are considered.
18+ .
19+ * DPOR with no schedule bounding is __complete__, it /will/ find all
20+ distinct executions!
21+ .
22+ * DPOR with schedule bounding is __incomplete__, it will only find
23+ all distinct executions /within the bound/!
24+ .
25+ __Caution:__ The fundamental assumption behind DPOR is that the
26+ *only* source of nondeterminism in your program is the
27+ scheduler. Or, to put it another way, if you execute the same
28+ program with the same schedule twice, you get the same result. If
29+ you are using this library in combination with something which
30+ performs I/O, be *very* certain that this is the case!
31+ .
32+ See the <https://github.com/barrucadu/dejafu README> for more
33+ details.
34+ .
35+ For details on the algorithm, albeit presented in a very imperative
36+ way, see /Bounded partial-order reduction/, K. Coons, M. Musuvathi,
37+ and K. McKinley (2013), available at
38+ <http://research.microsoft.com/pubs/202164/bpor-oopsla-2013.pdf>
39+
40+homepage: https://github.com/barrucadu/dejafu
41+license: MIT
42+license-file: LICENSE
43+author: Michael Walker
44+maintainer: mike@barrucadu.co.uk
45+-- copyright:
46+category: Testing
47+build-type: Simple
48+-- extra-source-files:
49+cabal-version: >=1.10
50+
51+source-repository head
52+ type: git
53+ location: https://github.com/barrucadu/dejafu.git
54+
55+source-repository this
56+ type: git
57+ location: https://github.com/barrucadu/dejafu.git
58+ tag: dpor-0.2.0.0
59+
60+library
61+ exposed-modules: Test.DPOR
62+ , Test.DPOR.Internal
63+ , Test.DPOR.Random
64+ , Test.DPOR.Schedule
65+ -- other-modules:
66+ -- other-extensions:
67+ build-depends: base >=4.8 && <5
68+ , containers >=0.5 && <0.6
69+ , deepseq >=1.3 && <1.5
70+ , random >=1.0 && <1.2
71+ , semigroups >=0.16 && <0.19
72+ -- hs-source-dirs:
73+ default-language: Haskell2010
74+ ghc-options: -Wall
test/golden-test-cases/dpor.nix.goldennew file+14
@@ -0,0 +1,14 @@
1+{ mkDerivation, base, containers, deepseq, random, semigroups
2+, stdenv
3+}:
4+mkDerivation {
5+ pname = "dpor";
6+ version = "0.2.0.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base containers deepseq random semigroups
10+ ];
11+ homepage = "https://github.com/barrucadu/dejafu";
12+ description = "A generic implementation of dynamic partial-order reduction (DPOR) for testing arbitrary models of concurrency";
13+ license = stdenv.lib.licenses.mit;
14+}
test/golden-test-cases/drawille.cabalnew file+102
@@ -0,0 +1,102 @@
1+-- This file has been generated from package.yaml by hpack version 0.14.0.
2+--
3+-- see: https://github.com/sol/hpack
4+
5+name: drawille
6+version: 0.1.2.0
7+synopsis: A port of asciimoo's drawille to haskell
8+description: A tiny library for drawing with braille.
9+category: System
10+homepage: https://github.com/yamadapc/haskell-drawille#readme
11+bug-reports: https://github.com/yamadapc/haskell-drawille/issues
12+author: Pedro Yamada <tacla.yamada@gmail.com>
13+maintainer: Pedro Yamada <tacla.yamada@gmail.com>
14+copyright: (c) Pedro Yamada
15+license: GPL-3
16+license-file: LICENSE
17+build-type: Simple
18+cabal-version: >= 1.10
19+
20+source-repository head
21+ type: git
22+ location: https://github.com/yamadapc/haskell-drawille
23+
24+flag examples
25+ description: Build examples
26+ manual: False
27+ default: False
28+
29+flag no-tests
30+ description: Don't build test suites
31+ manual: False
32+ default: False
33+
34+library
35+ hs-source-dirs:
36+ src
37+ build-depends:
38+ base >=4 && <5
39+ , containers >=0.5 && <0.6
40+ exposed-modules:
41+ System.Drawille
42+ other-modules:
43+ Paths_drawille
44+ default-language: Haskell2010
45+
46+executable image2term
47+ main-is: Image2Term.hs
48+ hs-source-dirs:
49+ examples
50+ , src
51+ ghc-options: -Wall -threaded -O3
52+ if flag(examples)
53+ build-depends:
54+ base >=4 && <5
55+ , containers >=0.5
56+ , friday >=0.1 && <0.2
57+ , terminal-size >=0.2
58+ , vector
59+ else
60+ buildable: False
61+ other-modules:
62+ Senoid
63+ System.Drawille
64+ default-language: Haskell2010
65+
66+executable senoid
67+ main-is: Senoid.hs
68+ hs-source-dirs:
69+ examples
70+ , src
71+ ghc-options: -threaded -Wall -O3
72+ if flag(examples)
73+ build-depends:
74+ base >=4 && <5
75+ , containers >=0.5 && <0.6
76+ , AC-Angle >=1.0 && <1.1
77+ else
78+ buildable: False
79+ other-modules:
80+ Image2Term
81+ System.Drawille
82+ default-language: Haskell2010
83+
84+test-suite spec
85+ type: exitcode-stdio-1.0
86+ main-is: Spec.hs
87+ hs-source-dirs:
88+ src
89+ , test
90+ ghc-options: -Wall
91+ if !(flag(no-tests))
92+ build-depends:
93+ base >=4 && <5
94+ , hspec >=1.11 && <2.4
95+ , QuickCheck >=2.6
96+ , containers >=0.5 && <0.6
97+ else
98+ buildable: False
99+ other-modules:
100+ System.Drawille
101+ DrawilleSpec
102+ default-language: Haskell2010
test/golden-test-cases/drawille.nix.goldennew file+13
@@ -0,0 +1,13 @@
1+{ mkDerivation, base, containers, hspec, QuickCheck, stdenv }:
2+mkDerivation {
3+ pname = "drawille";
4+ version = "0.1.2.0";
5+ sha256 = "deadbeef";
6+ isLibrary = true;
7+ isExecutable = true;
8+ libraryHaskellDepends = [ base containers ];
9+ testHaskellDepends = [ base containers hspec QuickCheck ];
10+ homepage = "https://github.com/yamadapc/haskell-drawille#readme";
11+ description = "A port of asciimoo's drawille to haskell";
12+ license = stdenv.lib.licenses.gpl3;
13+}
test/golden-test-cases/drifter-postgresql.cabalnew file+63
@@ -0,0 +1,63 @@
1+name: drifter-postgresql
2+version: 0.2.1
3+synopsis: PostgreSQL support for the drifter schema migration tool
4+description: Support for postgresql-simple Query migrations as well as
5+ arbitrary Haskell IO functions. Be sure to check the
6+ examples dir for a usage example.
7+license: MIT
8+license-file: LICENSE
9+author: Michael Xavier
10+maintainer: michael@michaelxavier.net
11+category: Database
12+build-type: Simple
13+cabal-version: >=1.10
14+tested-with: GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2
15+extra-source-files:
16+ README.md
17+ changelog.md
18+ examples/Example.hs
19+homepage: http://github.com/michaelxavier/drifter-postgresql
20+bug-reports: http://github.com/michaelxavier/drifter-postgresql/issues
21+
22+flag lib-Werror
23+ default: False
24+ manual: True
25+
26+library
27+ exposed-modules: Drifter.PostgreSQL
28+ build-depends: base >=4.8 && <5
29+ , postgresql-simple >= 0.2
30+ , containers
31+ , drifter >= 0.2
32+ , time
33+ , mtl
34+ , transformers
35+ , transformers-compat >=0.2
36+ hs-source-dirs: src
37+ default-language: Haskell2010
38+
39+ if flag(lib-Werror)
40+ ghc-options: -Werror
41+
42+ ghc-options: -Wall
43+
44+
45+test-suite test
46+ type: exitcode-stdio-1.0
47+ main-is: Main.hs
48+ hs-source-dirs: test
49+ default-language: Haskell2010
50+
51+ build-depends: base
52+ , drifter
53+ , postgresql-simple
54+ , drifter-postgresql
55+ , tasty
56+ , tasty-hunit
57+ , either
58+ , text
59+
60+ if flag(lib-Werror)
61+ ghc-options: -Werror
62+
63+ ghc-options: -Wall
test/golden-test-cases/drifter-postgresql.nix.goldennew file+19
@@ -0,0 +1,19 @@
1+{ mkDerivation, base, containers, drifter, either, mtl
2+, postgresql-simple, stdenv, tasty, tasty-hunit, text, time
3+, transformers, transformers-compat
4+}:
5+mkDerivation {
6+ pname = "drifter-postgresql";
7+ version = "0.2.1";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ base containers drifter mtl postgresql-simple time transformers
11+ transformers-compat
12+ ];
13+ testHaskellDepends = [
14+ base drifter either postgresql-simple tasty tasty-hunit text
15+ ];
16+ homepage = "http://github.com/michaelxavier/drifter-postgresql";
17+ description = "PostgreSQL support for the drifter schema migration tool";
18+ license = stdenv.lib.licenses.mit;
19+}
test/golden-test-cases/ede.cabalnew file+110
@@ -0,0 +1,110 @@
1+name: ede
2+version: 0.2.8.7
3+synopsis: Templating language with similar syntax and features to Liquid or Jinja2.
4+homepage: http://github.com/brendanhay/ede
5+license: OtherLicense
6+license-file: LICENSE
7+author: Brendan Hay
8+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
9+copyright: Copyright (c) 2013-2015 Brendan Hay
10+stability: Experimental
11+category: Text, Template, Web
12+build-type: Simple
13+cabal-version: >= 1.10
14+
15+description:
16+ ED-E is a templating language written in Haskell with a specific set of features:
17+ .
18+ * Logicless within reason. A small set of consistent predicates
19+ and expressions for formatting and presentational logic are provided.
20+ .
21+ * Secure. No arbitrary code evaluation, with input data required to be fully specified
22+ at render time.
23+ .
24+ * Stateless. Parsing and rendering are separate steps so that loading, parsing,
25+ include resolution, and embedding of the compiled template can optionally be
26+ done ahead of time, amortising cost.
27+ .
28+ * Markup agnostic. ED-E is used to write out everything from configuration files for
29+ system services, to HTML and formatted emails.
30+ .
31+ * Control over purity. Users can choose pure or IO-based resolution of
32+ @include@ expressions.
33+ .
34+ * No surprises. All parsing, type assurances, and rendering steps report helpful
35+ error messages with line/column metadata. Variable shadowing, unprintable expressions,
36+ implicit type coercion, and unbound variable access are all treated as errors.
37+
38+extra-source-files:
39+ README.md
40+
41+data-files:
42+ test/resources/*.ede
43+ , test/resources/*.golden
44+
45+source-repository head
46+
47+ type: git
48+ location: git://github.com/brendanhay/ede.git
49+
50+library
51+ default-language: Haskell2010
52+ hs-source-dirs: src
53+
54+ exposed-modules:
55+ Text.EDE
56+ , Text.EDE.Filters
57+
58+ other-modules:
59+ Paths_ede
60+ , Text.EDE.Internal.AST
61+ , Text.EDE.Internal.Eval
62+ , Text.EDE.Internal.Filters
63+ , Text.EDE.Internal.Parser
64+ , Text.EDE.Internal.Quoting
65+ , Text.EDE.Internal.Syntax
66+ , Text.EDE.Internal.Types
67+
68+ ghc-options: -Wall
69+
70+ build-depends:
71+ aeson >= 0.7
72+ , ansi-wl-pprint >= 0.6.6
73+ , base >= 4.6 && < 5
74+ , bifunctors >= 4
75+ , bytestring >= 0.9
76+ , comonad >= 4.2
77+ , directory >= 1.2
78+ , double-conversion >= 2.0.2
79+ , filepath >= 1.2
80+ , free >= 4.8
81+ , lens >= 4.0
82+ , mtl >= 2.1.3.1
83+ , parsers >= 0.12.1.1
84+ , scientific >= 0.3.1
85+ , semigroups >= 0.15
86+ , text >= 1.2
87+ , text-format >= 0.3
88+ , text-manipulate >= 0.1.2
89+ , trifecta >= 1.6
90+ , unordered-containers >= 0.2.3
91+ , vector >= 0.7.1
92+
93+test-suite golden
94+ default-language: Haskell2010
95+ type: exitcode-stdio-1.0
96+ hs-source-dirs: test
97+ main-is: Main.hs
98+
99+ ghc-options: -Wall -threaded
100+
101+ build-depends:
102+ aeson
103+ , base >= 4.6 && < 5
104+ , bifunctors
105+ , bytestring
106+ , directory
107+ , ede
108+ , text
109+ , tasty
110+ , tasty-golden
test/golden-test-cases/ede.nix.goldennew file+25
@@ -0,0 +1,25 @@
1+{ mkDerivation, aeson, ansi-wl-pprint, base, bifunctors, bytestring
2+, comonad, directory, double-conversion, filepath, free, lens, mtl
3+, parsers, scientific, semigroups, stdenv, tasty, tasty-golden
4+, text, text-format, text-manipulate, trifecta
5+, unordered-containers, vector
6+}:
7+mkDerivation {
8+ pname = "ede";
9+ version = "0.2.8.7";
10+ sha256 = "deadbeef";
11+ enableSeparateDataOutput = true;
12+ libraryHaskellDepends = [
13+ aeson ansi-wl-pprint base bifunctors bytestring comonad directory
14+ double-conversion filepath free lens mtl parsers scientific
15+ semigroups text text-format text-manipulate trifecta
16+ unordered-containers vector
17+ ];
18+ testHaskellDepends = [
19+ aeson base bifunctors bytestring directory tasty tasty-golden text
20+ ];
21+ homepage = "http://github.com/brendanhay/ede";
22+ description = "Templating language with similar syntax and features to Liquid or Jinja2";
23+ license = "unknown";
24+ hydraPlatforms = stdenv.lib.platforms.none;
25+}
test/golden-test-cases/ekg-cloudwatch.cabalnew file+46
@@ -0,0 +1,46 @@
1+-- This file has been generated from package.yaml by hpack version 0.17.1.
2+--
3+-- see: https://github.com/sol/hpack
4+
5+name: ekg-cloudwatch
6+version: 0.0.1.6
7+synopsis: An ekg backend for Amazon Cloudwatch
8+description: Push ekg metrics to Amazon Cloudwatch
9+homepage: https://github.com/sellerlabs/ekg-cloudwatch#readme
10+bug-reports: https://github.com/sellerlabs/ekg-cloudwatch/issues
11+license: BSD3
12+license-file: LICENSE
13+author: Matt Parsons
14+maintainer: matt@sellerlabs.com
15+copyright: 2016 Seller Labs
16+category: Web
17+build-type: Simple
18+cabal-version: >= 1.10
19+
20+extra-source-files:
21+ CHANGELOG.md
22+ README.md
23+
24+source-repository head
25+ type: git
26+ location: https://github.com/sellerlabs/ekg-cloudwatch
27+
28+library
29+ hs-source-dirs:
30+ src
31+ build-depends:
32+ base >=4.7 && <5
33+ , ekg-core >= 0.1 && < 1.0
34+ , amazonka >= 1.0.0
35+ , amazonka-cloudwatch >= 1.0.0
36+ , amazonka-core >= 1.0.0
37+ , bytestring
38+ , lens
39+ , resourcet
40+ , semigroups
41+ , text
42+ , time
43+ , unordered-containers
44+ exposed-modules:
45+ System.Remote.Monitoring.CloudWatch
46+ default-language: Haskell2010
test/golden-test-cases/ekg-cloudwatch.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, amazonka, amazonka-cloudwatch, amazonka-core, base
2+, bytestring, ekg-core, lens, resourcet, semigroups, stdenv, text
3+, time, unordered-containers
4+}:
5+mkDerivation {
6+ pname = "ekg-cloudwatch";
7+ version = "0.0.1.6";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ amazonka amazonka-cloudwatch amazonka-core base bytestring ekg-core
11+ lens resourcet semigroups text time unordered-containers
12+ ];
13+ homepage = "https://github.com/sellerlabs/ekg-cloudwatch#readme";
14+ description = "An ekg backend for Amazon Cloudwatch";
15+ license = stdenv.lib.licenses.bsd3;
16+}
test/golden-test-cases/emailaddress.cabalnew file+49
@@ -0,0 +1,49 @@
1+name: emailaddress
2+version: 0.2.0.0
3+synopsis: Wrapper around email-validate library adding instances for common type classes.
4+description: Please see README.md
5+homepage: https://github.com/cdepillabout/emailaddress#readme
6+license: BSD3
7+license-file: LICENSE
8+author: Dennis Gosnell
9+maintainer: cdep.illabout@gmail.com
10+copyright: 2016 Dennis Gosnell
11+category: Text
12+build-type: Simple
13+extra-source-files: README.md
14+ , CHANGELOG.md
15+cabal-version: >=1.10
16+
17+library
18+ hs-source-dirs: src
19+ exposed-modules: Text.EmailAddress
20+ other-modules: Text.EmailAddress.Internal
21+ build-depends: base >= 4.6 && < 5
22+ , aeson >= 0.9
23+ , bifunctors >= 5
24+ , bytestring >= 0.9
25+ , email-validate >= 2
26+ , http-api-data >= 0.2
27+ , opaleye >= 0.4
28+ , path-pieces >= 0.2
29+ , persistent >= 2
30+ , postgresql-simple >= 0.5
31+ , product-profunctors >= 0.6
32+ , profunctors >= 0.5
33+ , text >= 1.2
34+ default-language: Haskell2010
35+ ghc-options: -Wall
36+
37+test-suite emailaddress-doctest
38+ type: exitcode-stdio-1.0
39+ main-is: DocTest.hs
40+ hs-source-dirs: test
41+ build-depends: base
42+ , doctest
43+ , Glob
44+ default-language: Haskell2010
45+ ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
46+
47+source-repository head
48+ type: git
49+ location: git@github.com:cdepillabout/emailaddress.git
test/golden-test-cases/emailaddress.nix.goldennew file+19
@@ -0,0 +1,19 @@
1+{ mkDerivation, aeson, base, bifunctors, bytestring, doctest
2+, email-validate, Glob, http-api-data, opaleye, path-pieces
3+, persistent, postgresql-simple, product-profunctors, profunctors
4+, stdenv, text
5+}:
6+mkDerivation {
7+ pname = "emailaddress";
8+ version = "0.2.0.0";
9+ sha256 = "deadbeef";
10+ libraryHaskellDepends = [
11+ aeson base bifunctors bytestring email-validate http-api-data
12+ opaleye path-pieces persistent postgresql-simple
13+ product-profunctors profunctors text
14+ ];
15+ testHaskellDepends = [ base doctest Glob ];
16+ homepage = "https://github.com/cdepillabout/emailaddress#readme";
17+ description = "Wrapper around email-validate library adding instances for common type classes";
18+ license = stdenv.lib.licenses.bsd3;
19+}
test/golden-test-cases/envelope.cabalnew file+38
@@ -0,0 +1,38 @@
1+name: envelope
2+version: 0.2.2.0
3+synopsis: Defines generic 'Envelope' type to wrap reponses from a JSON API.
4+description: Please see README.md
5+homepage: https://github.com/cdepillabout/envelope#readme
6+license: BSD3
7+license-file: LICENSE
8+author: Dennis Gosnell
9+maintainer: cdep.illabout@gmail.com
10+copyright: 2016-2017 Dennis Gosnell
11+category: Web
12+build-type: Simple
13+extra-source-files: README.md
14+cabal-version: >=1.10
15+
16+library
17+ hs-source-dirs: src
18+ exposed-modules: Web.Envelope
19+ build-depends: base >= 4.8 && < 5
20+ , aeson >= 0.11
21+ , http-api-data >= 0.3
22+ , mtl >= 2.2
23+ , text >= 1.2
24+ default-language: Haskell2010
25+
26+test-suite envelope-doctest
27+ type: exitcode-stdio-1.0
28+ main-is: DocTest.hs
29+ hs-source-dirs: test
30+ build-depends: base
31+ , doctest
32+ , Glob
33+ default-language: Haskell2010
34+ ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
35+
36+source-repository head
37+ type: git
38+ location: git@github.com:cdepillabout/envelope.git
test/golden-test-cases/envelope.nix.goldennew file+13
@@ -0,0 +1,13 @@
1+{ mkDerivation, aeson, base, doctest, Glob, http-api-data, mtl
2+, stdenv, text
3+}:
4+mkDerivation {
5+ pname = "envelope";
6+ version = "0.2.2.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ aeson base http-api-data mtl text ];
9+ testHaskellDepends = [ base doctest Glob ];
10+ homepage = "https://github.com/cdepillabout/envelope#readme";
11+ description = "Defines generic 'Envelope' type to wrap reponses from a JSON API";
12+ license = stdenv.lib.licenses.bsd3;
13+}
test/golden-test-cases/eventful-sqlite.cabalnew file+69
@@ -0,0 +1,69 @@
1+-- This file has been generated from package.yaml by hpack version 0.17.0.
2+--
3+-- see: https://github.com/sol/hpack
4+
5+name: eventful-sqlite
6+version: 0.2.0
7+synopsis: SQLite implementations for eventful
8+description: SQLite implementations for eventful
9+category: Database,Eventsourcing,SQLite
10+stability: experimental
11+homepage: https://github.com/jdreaver/eventful#readme
12+bug-reports: https://github.com/jdreaver/eventful/issues
13+maintainer: David Reaver
14+license: MIT
15+license-file: LICENSE.md
16+build-type: Simple
17+cabal-version: >= 1.10
18+
19+extra-source-files:
20+ CHANGELOG.md
21+ README.md
22+
23+source-repository head
24+ type: git
25+ location: https://github.com/jdreaver/eventful
26+
27+library
28+ hs-source-dirs:
29+ src
30+ ghc-options: -Wall
31+ build-depends:
32+ base >= 4.9 && < 5
33+ , eventful-core
34+ , eventful-sql-common
35+ , aeson
36+ , bytestring
37+ , mtl
38+ , persistent
39+ , text
40+ , uuid
41+ exposed-modules:
42+ Eventful.Store.Sqlite
43+ default-language: Haskell2010
44+
45+test-suite spec
46+ type: exitcode-stdio-1.0
47+ main-is: Spec.hs
48+ hs-source-dirs:
49+ tests
50+ src
51+ ghc-options: -Wall
52+ build-depends:
53+ base >= 4.9 && < 5
54+ , eventful-core
55+ , eventful-sql-common
56+ , aeson
57+ , bytestring
58+ , mtl
59+ , persistent
60+ , text
61+ , uuid
62+ , hspec
63+ , HUnit
64+ , eventful-test-helpers
65+ , persistent-sqlite
66+ other-modules:
67+ Eventful.Store.SqliteSpec
68+ Eventful.Store.Sqlite
69+ default-language: Haskell2010
test/golden-test-cases/eventful-sqlite.nix.goldennew file+21
@@ -0,0 +1,21 @@
1+{ mkDerivation, aeson, base, bytestring, eventful-core
2+, eventful-sql-common, eventful-test-helpers, hspec, HUnit, mtl
3+, persistent, persistent-sqlite, stdenv, text, uuid
4+}:
5+mkDerivation {
6+ pname = "eventful-sqlite";
7+ version = "0.2.0";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ aeson base bytestring eventful-core eventful-sql-common mtl
11+ persistent text uuid
12+ ];
13+ testHaskellDepends = [
14+ aeson base bytestring eventful-core eventful-sql-common
15+ eventful-test-helpers hspec HUnit mtl persistent persistent-sqlite
16+ text uuid
17+ ];
18+ homepage = "https://github.com/jdreaver/eventful#readme";
19+ description = "SQLite implementations for eventful";
20+ license = stdenv.lib.licenses.mit;
21+}
test/golden-test-cases/exact-pi.cabalnew file+35
@@ -0,0 +1,35 @@
1+-- Initial exact-pi.cabal generated by cabal init. For further
2+-- documentation, see http://haskell.org/cabal/users-guide/
3+
4+name: exact-pi
5+version: 0.4.1.2
6+synopsis: Exact rational multiples of pi (and integer powers of pi)
7+description: Provides an exact representation for rational multiples of pi alongside an approximate representation of all reals.
8+ Useful for storing and computing with conversion factors between physical units.
9+homepage: https://github.com/dmcclean/exact-pi/
10+bug-reports: https://github.com/dmcclean/exact-pi/issues/
11+license: MIT
12+license-file: LICENSE
13+author: Douglas McClean
14+maintainer: douglas.mcclean@gmail.com
15+-- copyright:
16+category: Data
17+build-type: Simple
18+extra-source-files: README.md,
19+ changelog.md
20+cabal-version: >=1.10
21+
22+library
23+ exposed-modules: Data.ExactPi,
24+ Data.ExactPi.TypeLevel
25+ -- other-modules:
26+ -- other-extensions:
27+ build-depends: base >=4.7 && <5,
28+ numtype-dk >= 0.5
29+ ghc-options: -Wall
30+ hs-source-dirs: src
31+ default-language: Haskell2010
32+
33+source-repository head
34+ type: git
35+ location: https://github.com/dmcclean/exact-pi.git
test/golden-test-cases/exact-pi.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, numtype-dk, stdenv }:
2+mkDerivation {
3+ pname = "exact-pi";
4+ version = "0.4.1.2";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base numtype-dk ];
7+ homepage = "https://github.com/dmcclean/exact-pi/";
8+ description = "Exact rational multiples of pi (and integer powers of pi)";
9+ license = stdenv.lib.licenses.mit;
10+}
test/golden-test-cases/expiring-cache-map.cabalnew file+108
@@ -0,0 +1,108 @@
1+name: expiring-cache-map
2+version: 0.0.6.1
3+synopsis: General purpose simple caching.
4+description:
5+ A simple general purpose shared state cache map with automatic expiration
6+ of values, for caching the results of accessing a resource such as reading
7+ a file. With variations for Ord and Hashable keys using "Data.Map.Strict"
8+ and "Data.HashMap.Strict", respectively.
9+
10+homepage: https://github.com/elblake/expiring-cache-map
11+bug-reports: https://github.com/elblake/expiring-cache-map/issues
12+license: BSD3
13+license-file: LICENSE
14+author: Edward L. Blake
15+maintainer: edwardlblake@gmail.com
16+copyright: (c) 2014 Edward L. Blake
17+category: Caching
18+build-type: Simple
19+cabal-version: >=1.8
20+
21+extra-source-files:
22+ README.md
23+
24+library
25+ exposed-modules:
26+ Caching.ExpiringCacheMap.OrdECM
27+ Caching.ExpiringCacheMap.HashECM
28+ Caching.ExpiringCacheMap.Internal.Internal
29+ Caching.ExpiringCacheMap.Internal.Types
30+ Caching.ExpiringCacheMap.Types
31+ Caching.ExpiringCacheMap.Utils.TestSequence
32+ Caching.ExpiringCacheMap.Utils.Types
33+ -- other-modules:
34+ build-depends:
35+ base == 4.*,
36+ containers >= 0.5.0.0,
37+ hashable >= 1.0.1.1,
38+ unordered-containers >= 0.2.0.0
39+
40+test-suite test-threads
41+ type: exitcode-stdio-1.0
42+ hs-source-dirs: . tests
43+ main-is: TestWithThreads.hs
44+ build-depends:
45+ base,
46+ bytestring >= 0.10.0.0,
47+ time >= 1.0,
48+ containers >= 0.5.0.0,
49+ hashable >= 1.0.1.1,
50+ unordered-containers >= 0.2.0.0
51+ other-modules:
52+ TestHashECMWithThreads
53+ TestHashECMWithThreadsInvalidating
54+ TestOrdECMWithThreads
55+ TestOrdECMWithThreadsInvalidating
56+ Caching.ExpiringCacheMap.Internal.Internal
57+
58+test-suite test-sequence
59+ type: exitcode-stdio-1.0
60+ hs-source-dirs: . tests
61+ main-is: TestWithTestSequence.hs
62+ build-depends:
63+ base,
64+ bytestring >= 0.10.0.0,
65+ containers >= 0.5.0.0,
66+ hashable >= 1.0.1.1,
67+ unordered-containers >= 0.2.0.0
68+ other-modules:
69+ TestECMWithTestSequenceCommon
70+ TestECMWithTestSequenceCommonInvalidating
71+ TestHashECMWithTestSequence
72+ TestHashECMWithTestSequenceInvalidating
73+ TestOrdECMWithTestSequence
74+ TestOrdECMWithTestSequenceInvalidating
75+
76+test-suite invalidate-test
77+ type: exitcode-stdio-1.0
78+ hs-source-dirs: . tests
79+ main-is: InvalidateTest.hs
80+ build-depends:
81+ base,
82+ bytestring >= 0.10.0.0,
83+ time >= 1.0,
84+ containers >= 0.5.0.0,
85+ hashable >= 1.0.1.1,
86+ unordered-containers >= 0.2.0.0
87+ other-modules:
88+ InvalidateTestCommon
89+ InvalidateTestHashECM
90+ InvalidateTestOrdECM
91+ Caching.ExpiringCacheMap.Internal.Internal
92+
93+test-suite invalidate-cache-test
94+ type: exitcode-stdio-1.0
95+ hs-source-dirs: . tests
96+ main-is: InvalidateCacheTest.hs
97+ build-depends:
98+ base,
99+ bytestring >= 0.10.0.0,
100+ time >= 1.0,
101+ containers >= 0.5.0.0,
102+ hashable >= 1.0.1.1,
103+ unordered-containers >= 0.2.0.0
104+ other-modules:
105+ InvalidateCacheTestCommon
106+ InvalidateCacheTestHashECM
107+ InvalidateCacheTestOrdECM
108+ Caching.ExpiringCacheMap.Internal.Internal
test/golden-test-cases/expiring-cache-map.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, base, bytestring, containers, hashable, stdenv
2+, time, unordered-containers
3+}:
4+mkDerivation {
5+ pname = "expiring-cache-map";
6+ version = "0.0.6.1";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base containers hashable unordered-containers
10+ ];
11+ testHaskellDepends = [
12+ base bytestring containers hashable time unordered-containers
13+ ];
14+ homepage = "https://github.com/elblake/expiring-cache-map";
15+ description = "General purpose simple caching";
16+ license = stdenv.lib.licenses.bsd3;
17+}
test/golden-test-cases/explicit-exception.cabalnew file+124
@@ -0,0 +1,124 @@
1+Name: explicit-exception
2+Version: 0.1.9
3+License: BSD3
4+License-File: LICENSE
5+Author: Henning Thielemann <haskell@henning-thielemann.de>
6+Maintainer: Henning Thielemann <haskell@henning-thielemann.de>
7+Homepage: http://www.haskell.org/haskellwiki/Exception
8+Category: Control
9+Stability: Experimental
10+Synopsis: Exceptions which are explicit in the type signature.
11+Description:
12+ Synchronous and Asynchronous exceptions which are explicit in the type signature.
13+ The first ones are very similar to 'Either' and 'Control.Monad.Error.ErrorT'.
14+ The second ones are used for 'System.IO.readFile' and 'System.IO.hGetContents'.
15+ This package is a proposal for improved exception handling in Haskell.
16+ It strictly separates between handling of
17+ exceptional situations (file not found, invalid user input,
18+ see <http://www.haskell.org/haskellwiki/Exception>) and
19+ (programming) errors (division by zero, index out of range,
20+ see <http://www.haskell.org/haskellwiki/Error>).
21+ Handling of the first one is called \"exception handling\",
22+ whereas handling of errors is better known as \"debugging\".
23+ .
24+ For applications see the packages @midi@, @spreadsheet@, @http-monad@.
25+ .
26+ Although I'm not happy with the identifier style of the Monad Transformer Library
27+ (partially intended for unqualified use)
28+ I have tried to adopt it for this library,
29+ in order to let Haskell programmers get accustomed easily to it.
30+ .
31+ See also: @unexceptionalio@
32+Tested-With: GHC==6.8.2
33+Tested-With: GHC==7.4.2, GHC==7.6.1, GHC==7.8.2
34+Tested-With: GHC==8.0.1
35+Cabal-Version: >=1.6
36+Build-Type: Simple
37+
38+Source-Repository head
39+ type: darcs
40+ location: http://code.haskell.org/explicit-exception/
41+
42+Source-Repository this
43+ type: darcs
44+ location: http://code.haskell.org/explicit-exception/
45+ tag: 0.1.9
46+
47+Flag buildTests
48+ description: Build executables that demonstrate some space leaks
49+ default: False
50+
51+Flag splitBase
52+ description: Choose the smaller, split-up base package from version 2 on.
53+
54+
55+Library
56+ Build-Depends:
57+ transformers >=0.2 && <0.6,
58+ deepseq >=1.1 && <1.5
59+ If impl(jhc)
60+ Build-Depends:
61+ applicative >=1.0 && <1.1,
62+ base >= 1 && <2
63+ Else
64+ If flag(splitBase)
65+ Build-Depends: base >= 2 && <5
66+ Else
67+ Build-Depends:
68+ special-functors >=1.0 && <1.1,
69+ base >= 1 && <2
70+
71+ GHC-Options: -Wall
72+ Hs-Source-Dirs: src
73+ Exposed-Modules:
74+ Control.Monad.Exception.Asynchronous
75+ Control.Monad.Exception.Asynchronous.Lazy
76+ Control.Monad.Exception.Asynchronous.Strict
77+ Control.Monad.Exception.Synchronous
78+ If !impl(jhc)
79+ Other-Modules:
80+ Control.Monad.Exception.Warning
81+ Control.Monad.Exception.Label
82+ Control.Monad.Label
83+ System.IO.Straight
84+ System.IO.Exception.File
85+ System.IO.Exception.BinaryFile
86+ System.IO.Exception.TextFile
87+-- System.IO.Exception.Std
88+-- Debug.Error
89+
90+Executable ee-tar
91+ If flag(buildTests)
92+ Build-Depends:
93+ bytestring >=0.9.0.1 && <0.11,
94+ tar >=0.3 && <0.4
95+ Else
96+ Buildable: False
97+ GHC-Options: -Wall
98+ Hs-Source-Dirs: src, spaceleak
99+ Main-Is: Tar.hs
100+
101+Executable ee-test
102+ If flag(buildTests)
103+ Build-Depends:
104+ bytestring >=0.9.0.1 && <0.11
105+ Else
106+ Buildable: False
107+ GHC-Options: -Wall
108+ Hs-Source-Dirs: src, spaceleak
109+ Main-Is: Example.hs
110+
111+Executable ee-unzip
112+ If !flag(buildTests)
113+ Buildable: False
114+ GHC-Options: -Wall
115+ Hs-Source-Dirs: spaceleak
116+ Main-Is: Unzip.hs
117+
118+Executable ee-writer
119+ If !flag(buildTests)
120+ Buildable: False
121+ Buildable: False
122+ GHC-Options: -Wall
123+ Hs-Source-Dirs: spaceleak
124+ Main-Is: Writer.hs
test/golden-test-cases/explicit-exception.nix.goldennew file+12
@@ -0,0 +1,12 @@
1+{ mkDerivation, base, deepseq, stdenv, transformers }:
2+mkDerivation {
3+ pname = "explicit-exception";
4+ version = "0.1.9";
5+ sha256 = "deadbeef";
6+ isLibrary = true;
7+ isExecutable = true;
8+ libraryHaskellDepends = [ base deepseq transformers ];
9+ homepage = "http://www.haskell.org/haskellwiki/Exception";
10+ description = "Exceptions which are explicit in the type signature";
11+ license = stdenv.lib.licenses.bsd3;
12+}
test/golden-test-cases/fdo-notify.cabalnew file+26
@@ -0,0 +1,26 @@
1+name: fdo-notify
2+version: 0.3.1
3+synopsis: Desktop Notifications client
4+description:
5+ A library for issuing notifications using FreeDesktop.org's Desktop
6+ Notifications protcol. This protocol is supported by services such
7+ as Ubuntu's NotifyOSD.
8+category: Desktop
9+license: BSD3
10+license-file: LICENSE
11+author: Max Rabkin
12+maintainer: max.rabkin@gmail.com
13+homepage: http://bitbucket.org/taejo/fdo-notify/
14+cabal-version: >= 1.2.1
15+build-type: Simple
16+
17+extra-source-files:
18+ examples/fib.hs
19+
20+library
21+ build-depends:
22+ base >= 3 && < 5
23+ , containers >= 0.1
24+ , dbus >= 0.10.7
25+
26+ exposed-modules: DBus.Notify
test/golden-test-cases/fdo-notify.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, containers, dbus, stdenv }:
2+mkDerivation {
3+ pname = "fdo-notify";
4+ version = "0.3.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base containers dbus ];
7+ homepage = "http://bitbucket.org/taejo/fdo-notify/";
8+ description = "Desktop Notifications client";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/fgl.cabalnew file+134
@@ -0,0 +1,134 @@
1+name: fgl
2+version: 5.5.4.0
3+license: BSD3
4+license-file: LICENSE
5+author: Martin Erwig, Ivan Lazar Miljenovic
6+maintainer: Ivan.Miljenovic@gmail.com
7+category: Data Structures, Graphs
8+synopsis: Martin Erwig's Functional Graph Library
9+
10+description: {
11+An inductive representation of manipulating graph data structures.
12+.
13+Original website can be found at <http://web.engr.oregonstate.edu/~erwig/fgl/haskell>.
14+}
15+cabal-version: >= 1.10
16+build-type: Simple
17+extra-source-files:
18+ ChangeLog
19+
20+tested-with: GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.2, GHC == 7.6.3,
21+ GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1, GHC == 8.1.*
22+
23+source-repository head
24+ type: git
25+ location: https://github.com/haskell/fgl.git
26+
27+flag containers042 {
28+ manual: False
29+ default: True
30+}
31+
32+library {
33+ default-language: Haskell98
34+
35+ exposed-modules:
36+ Data.Graph.Inductive.Internal.Heap,
37+ Data.Graph.Inductive.Internal.Queue,
38+ Data.Graph.Inductive.Internal.RootPath,
39+ Data.Graph.Inductive.Internal.Thread,
40+ Data.Graph.Inductive.Basic,
41+ Data.Graph.Inductive.Example,
42+ Data.Graph.Inductive.Graph,
43+ Data.Graph.Inductive.Monad,
44+ Data.Graph.Inductive.NodeMap,
45+ Data.Graph.Inductive.PatriciaTree,
46+ Data.Graph.Inductive.Query,
47+ Data.Graph.Inductive.Tree,
48+ Data.Graph.Inductive.Monad.IOArray,
49+ Data.Graph.Inductive.Monad.STArray,
50+ Data.Graph.Inductive.Query.ArtPoint,
51+ Data.Graph.Inductive.Query.BCC,
52+ Data.Graph.Inductive.Query.BFS,
53+ Data.Graph.Inductive.Query.DFS,
54+ Data.Graph.Inductive.Query.Dominators,
55+ Data.Graph.Inductive.Query.GVD,
56+ Data.Graph.Inductive.Query.Indep,
57+ Data.Graph.Inductive.Query.MST,
58+ Data.Graph.Inductive.Query.MaxFlow,
59+ Data.Graph.Inductive.Query.MaxFlow2,
60+ Data.Graph.Inductive.Query.Monad,
61+ Data.Graph.Inductive.Query.SP,
62+ Data.Graph.Inductive.Query.TransClos,
63+ Data.Graph.Inductive
64+
65+ other-modules:
66+ Paths_fgl
67+
68+ build-depends: base < 5
69+ , transformers
70+ , array
71+
72+ if flag(containers042)
73+ build-depends: containers >= 0.4.2
74+ , deepseq >= 1.1.0.0 && < 1.5
75+ else
76+ build-depends: containers < 0.4.2
77+
78+ if impl(ghc >= 7.2) && impl(ghc < 7.6)
79+ build-depends:
80+ ghc-prim
81+
82+ ghc-options: -Wall
83+
84+}
85+
86+test-suite fgl-tests {
87+ default-language: Haskell98
88+
89+ type: exitcode-stdio-1.0
90+
91+ build-depends: fgl
92+ , base
93+ , QuickCheck >= 2.8 && < 2.10
94+ , hspec >= 2.1 && < 2.5
95+ , containers
96+
97+ hs-source-dirs: test
98+ fgl-arbitrary
99+
100+ main-is: TestSuite.hs
101+
102+ other-modules: Data.Graph.Inductive.Arbitrary
103+ , Data.Graph.Inductive.Graph.Properties
104+ , Data.Graph.Inductive.Proxy
105+ , Data.Graph.Inductive.Query.Properties
106+
107+ ghc-options: -Wall
108+
109+}
110+
111+benchmark fgl-benchmark {
112+ if flag(containers042)
113+ buildable: True
114+ else
115+ buildable: False
116+
117+ default-language: Haskell98
118+
119+ type: exitcode-stdio-1.0
120+
121+ hs-source-dirs: test
122+
123+ main-is: benchmark.hs
124+
125+ other-modules: Data.Graph.Inductive.Proxy
126+
127+ build-depends: fgl
128+ , base
129+ , microbench
130+ , deepseq
131+
132+ ghc-options: -Wall
133+
134+}
test/golden-test-cases/fgl.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, array, base, containers, deepseq, hspec, microbench
2+, QuickCheck, stdenv, transformers
3+}:
4+mkDerivation {
5+ pname = "fgl";
6+ version = "5.5.4.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ array base containers deepseq transformers
10+ ];
11+ testHaskellDepends = [ base containers hspec QuickCheck ];
12+ benchmarkHaskellDepends = [ base deepseq microbench ];
13+ description = "Martin Erwig's Functional Graph Library";
14+ license = stdenv.lib.licenses.bsd3;
15+}
test/golden-test-cases/file-modules.cabalnew file+46
@@ -0,0 +1,46 @@
1+name: file-modules
2+version: 0.1.2.4
3+cabal-version: >=1.10
4+build-type: Simple
5+license: MIT
6+license-file: LICENSE
7+copyright: Copyright (c) Pedro Tacla Yamada 2015
8+maintainer: tacla.yamada@gmail.com
9+homepage: https://github.com/yamadapc/stack-run-auto
10+synopsis: Takes a Haskell source-code file and outputs its modules.
11+description:
12+ Uses @haskell-src-exts@ to parse module imports and follows links
13+ . to local modules in order to build a list of module dependencies.
14+category: Development
15+author: Pedro Tacla Yamada
16+
17+library
18+ exposed-modules:
19+ Development.FileModules
20+ build-depends:
21+ MissingH,
22+ async,
23+ base >=4.5 && <5,
24+ directory,
25+ filepath,
26+ haskell-src-exts >=1.17 && <2,
27+ regex-compat >= 0.95.1,
28+ regex-pcre
29+ default-language: Haskell2010
30+ hs-source-dirs: src
31+
32+executable file-modules
33+ main-is: Main.hs
34+ build-depends:
35+ MissingH,
36+ async,
37+ base >=4.5 && <5,
38+ directory,
39+ filepath,
40+ haskell-src-exts >=1.17 && <2,
41+ regex-compat >= 0.95.1,
42+ regex-pcre
43+ default-language: Haskell2010
44+ hs-source-dirs: src
45+ ghc-options: -O2 -threaded
46+
test/golden-test-cases/file-modules.nix.goldennew file+21
@@ -0,0 +1,21 @@
1+{ mkDerivation, async, base, directory, filepath, haskell-src-exts
2+, MissingH, regex-compat, regex-pcre, stdenv
3+}:
4+mkDerivation {
5+ pname = "file-modules";
6+ version = "0.1.2.4";
7+ sha256 = "deadbeef";
8+ isLibrary = true;
9+ isExecutable = true;
10+ libraryHaskellDepends = [
11+ async base directory filepath haskell-src-exts MissingH
12+ regex-compat regex-pcre
13+ ];
14+ executableHaskellDepends = [
15+ async base directory filepath haskell-src-exts MissingH
16+ regex-compat regex-pcre
17+ ];
18+ homepage = "https://github.com/yamadapc/stack-run-auto";
19+ description = "Takes a Haskell source-code file and outputs its modules";
20+ license = stdenv.lib.licenses.mit;
21+}
test/golden-test-cases/fingertree.cabalnew file+59
@@ -0,0 +1,59 @@
1+Name: fingertree
2+Version: 0.1.3.1
3+Cabal-Version: >= 1.18
4+Copyright: (c) 2006 Ross Paterson, Ralf Hinze
5+License: BSD3
6+License-File: LICENSE
7+Maintainer: Ross Paterson <R.Paterson@city.ac.uk>
8+bug-reports: http://hub.darcs.net/ross/fingertree/issues
9+Category: Data Structures
10+Synopsis: Generic finger-tree structure, with example instances
11+Description:
12+ A general sequence representation with arbitrary
13+ annotations, for use as a base for implementations of
14+ various collection types, with examples, as described
15+ in section 4 of
16+ .
17+ * Ralf Hinze and Ross Paterson,
18+ \"Finger trees: a simple general-purpose data structure\",
19+ /Journal of Functional Programming/ 16:2 (2006) pp 197-217.
20+ <http://staff.city.ac.uk/~ross/papers/FingerTree.html>
21+ .
22+ For a tuned sequence type, see @Data.Sequence@ in the
23+ @containers@ package, which is a specialization of
24+ this structure.
25+Build-Type: Simple
26+Extra-Source-Files:
27+ changelog
28+Extra-Doc-Files:
29+ images/search.svg
30+
31+Source-Repository head
32+ Type: darcs
33+ Location: http://hub.darcs.net/ross/fingertree
34+
35+Library
36+ Build-Depends: base < 6
37+ Default-Language: Haskell2010
38+ Other-Extensions:
39+ MultiParamTypeClasses
40+ FunctionalDependencies
41+ FlexibleInstances
42+ UndecidableInstances
43+ Exposed-Modules:
44+ Data.FingerTree
45+ Data.IntervalMap.FingerTree
46+ Data.PriorityQueue.FingerTree
47+
48+Test-suite ft-properties
49+ type: exitcode-stdio-1.0
50+ main-is: tests/ft-properties.hs
51+ cpp-options: -DTESTING
52+ default-language: Haskell2010
53+ build-depends:
54+ base >= 4.2 && < 6,
55+ HUnit,
56+ QuickCheck,
57+ test-framework,
58+ test-framework-hunit,
59+ test-framework-quickcheck2
test/golden-test-cases/fingertree.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, base, HUnit, QuickCheck, stdenv, test-framework
2+, test-framework-hunit, test-framework-quickcheck2
3+}:
4+mkDerivation {
5+ pname = "fingertree";
6+ version = "0.1.3.1";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base ];
9+ testHaskellDepends = [
10+ base HUnit QuickCheck test-framework test-framework-hunit
11+ test-framework-quickcheck2
12+ ];
13+ description = "Generic finger-tree structure, with example instances";
14+ license = stdenv.lib.licenses.bsd3;
15+}
test/golden-test-cases/fixed-vector.cabalnew file+87
@@ -0,0 +1,87 @@
1+Name: fixed-vector
2+Version: 1.0.0.0
3+Synopsis: Generic vectors with statically known size.
4+Description:
5+ Generic library for vectors with statically known
6+ size. Implementation is based on
7+ <http://unlines.wordpress.com/2010/11/15/generics-for-small-fixed-size-vectors/>
8+ Same functions could be used to work with both ADT based vector like
9+ .
10+ > data Vec3 a = a a a
11+ .
12+ Tuples are vectors too:
13+ .
14+ >>> sum (1,2,3)
15+ 6
16+ .
17+ Vectors which are represented internally by arrays are provided by
18+ library. Both boxed and unboxed arrays are supported.
19+ .
20+ Library is structured as follows:
21+ .
22+ * Data.Vector.Fixed
23+ Generic API. It's suitable for both ADT-based vector like Complex
24+ and array-based ones.
25+ .
26+ * Data.Vector.Fixed.Cont
27+ Continuation based vectors. Internally all functions use them.
28+ .
29+ * Data.Vector.Fixed.Mutable
30+ Type classes for array-based implementation and API for working with
31+ mutable state.
32+ .
33+ * Data.Vector.Fixed.Unboxed
34+ Unboxed vectors.
35+ .
36+ * Data.Vector.Fixed.Boxed
37+ Boxed vector which can hold elements of any type.
38+ .
39+ * Data.Vector.Fixed.Storable
40+ Unboxed vectors of Storable types.
41+ .
42+ * Data.Vector.Fixed.Primitive
43+ Unboxed vectors based on pritimive package.
44+
45+Cabal-Version: >= 1.8
46+License: BSD3
47+License-File: LICENSE
48+Author: Aleksey Khudyakov <alexey.skladnoy@gmail.com>
49+Maintainer: Aleksey Khudyakov <alexey.skladnoy@gmail.com>
50+Bug-reports: https://github.com/Shimuuar/fixed-vector/issues
51+Category: Data
52+Build-Type: Simple
53+extra-source-files:
54+ ChangeLog.md
55+
56+source-repository head
57+ type: git
58+ location: http://github.com/Shimuuar/fixed-vector
59+
60+Library
61+ Ghc-options: -Wall
62+ Build-Depends: base >=4.8 && <5
63+ , primitive >=0.6.2
64+ , deepseq
65+ Exposed-modules:
66+ -- API
67+ Data.Vector.Fixed.Cont
68+ Data.Vector.Fixed
69+ Data.Vector.Fixed.Generic
70+ -- Arrays
71+ Data.Vector.Fixed.Mutable
72+ Data.Vector.Fixed.Boxed
73+ Data.Vector.Fixed.Primitive
74+ Data.Vector.Fixed.Unboxed
75+ Data.Vector.Fixed.Storable
76+ Other-modules:
77+ Data.Vector.Fixed.Internal
78+
79+Test-Suite doctests
80+ Type: exitcode-stdio-1.0
81+ Hs-source-dirs: test
82+ Main-is: Doctests.hs
83+ Build-Depends: base >=4.8 && <5
84+ , primitive >=0.6.2
85+ -- Additional test dependencies.
86+ , doctest >= 0.9
87+ , filemanip == 0.3.6.*
test/golden-test-cases/fixed-vector.nix.goldennew file+12
@@ -0,0 +1,12 @@
1+{ mkDerivation, base, deepseq, doctest, filemanip, primitive
2+, stdenv
3+}:
4+mkDerivation {
5+ pname = "fixed-vector";
6+ version = "1.0.0.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base deepseq primitive ];
9+ testHaskellDepends = [ base doctest filemanip primitive ];
10+ description = "Generic vectors with statically known size";
11+ license = stdenv.lib.licenses.bsd3;
12+}
test/golden-test-cases/fixed.cabalnew file+32
@@ -0,0 +1,32 @@
1+name: fixed
2+category: Numeric
3+version: 0.2.1.1
4+license: BSD3
5+cabal-version: >= 1.8
6+license-file: LICENSE
7+author: Edward A. Kmett
8+maintainer: Edward A. Kmett <ekmett@gmail.com>
9+stability: provisional
10+homepage: http://github.com/ekmett/fixed
11+bug-reports: http://github.com/ekmett/fixed/issues
12+copyright: Copyright (C) 2014 Edward A. Kmett
13+build-type: Simple
14+tested-with: GHC == 7.8.3
15+synopsis: Signed 15.16 precision fixed point arithmetic
16+description: Signed 15.16 precision fixed point arithmetic
17+
18+extra-source-files:
19+ .travis.yml
20+ .gitignore
21+ README.markdown
22+ CHANGELOG.markdown
23+
24+source-repository head
25+ type: git
26+ location: git://github.com/ekmett/fixed.git
27+
28+library
29+ hs-source-dirs: src
30+ build-depends: base >= 4.7 && < 5
31+ ghc-options: -Wall -fwarn-tabs -O2
32+ exposed-modules: Numeric.Fixed
test/golden-test-cases/fixed.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, base, stdenv }:
2+mkDerivation {
3+ pname = "fixed";
4+ version = "0.2.1.1";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base ];
7+ homepage = "http://github.com/ekmett/fixed";
8+ description = "Signed 15.16 precision fixed point arithmetic";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/foundation.cabalnew file+280
@@ -0,0 +1,280 @@
1+name: foundation
2+version: 0.0.17
3+synopsis: Alternative prelude with batteries and no dependencies
4+description:
5+ A custom prelude with no dependencies apart from base.
6+ .
7+ This package has the following goals:
8+ .
9+ * provide a base like sets of modules that provide a consistent set of features and bugfixes across multiple versions of GHC (unlike base).
10+ .
11+ * provide a better and more efficient prelude than base's prelude.
12+ .
13+ * be self-sufficient: no external dependencies apart from base.
14+ .
15+ * provide better data-types: packed unicode string by default, arrays.
16+ .
17+ * Better numerical classes that better represent mathematical thing (No more all-in-one Num).
18+ .
19+ * Better I/O system with less Lazy IO
20+ .
21+ * Usual partial functions distinguished through type system
22+license: BSD3
23+license-file: LICENSE
24+copyright: 2015-2017 Vincent Hanquez <vincent@snarc.org>
25+ 2017 Foundation Maintainers
26+author: Vincent Hanquez <vincent@snarc.org>
27+maintainer: vincent@snarc.org
28+category: foundation
29+build-type: Simple
30+homepage: https://github.com/haskell-foundation/foundation
31+bug-reports: https://github.com/haskell-foundation/foundation/issues
32+cabal-version: >=1.18
33+tested-with: GHC==8.2.1, GHC==8.0.2, GHC==7.10.3
34+extra-source-files: cbits/*.h
35+extra-doc-files: README.md
36+ CHANGELOG.md
37+
38+source-repository head
39+ type: git
40+ location: https://github.com/haskell-foundation/foundation.git
41+
42+flag experimental
43+ description: Enable building experimental features, known as highly unstable or without good support cross-platform
44+ default: False
45+ manual: True
46+
47+flag bench-all
48+ description: Add some comparaison benchmarks against other haskell libraries
49+ default: False
50+ manual: True
51+
52+flag minimal-deps
53+ description: Build fully with minimal deps (no criterion, no quickcheck, no doctest)
54+ default: False
55+ manual: True
56+
57+flag bounds-check
58+ description: Add extra friendly boundary check for unsafe array operations
59+ default: False
60+ manual: True
61+
62+flag doctest
63+ description: Add extra friendly boundary check for unsafe array operations
64+ default: False
65+ manual: True
66+
67+library
68+ exposed-modules: Foundation
69+ Foundation.Numerical
70+ Foundation.Array
71+ Foundation.Array.Internal
72+ Foundation.Bits
73+ Foundation.Class.Bifunctor
74+ Foundation.Class.Storable
75+ Foundation.Conduit
76+ Foundation.Conduit.Textual
77+ Foundation.Exception
78+ Foundation.String
79+ Foundation.String.Read
80+ Foundation.String.Builder
81+ Foundation.IO
82+ Foundation.IO.FileMap
83+ Foundation.IO.Terminal
84+ Foundation.VFS
85+ Foundation.VFS.Path
86+ Foundation.VFS.FilePath
87+ Foundation.VFS.URI
88+ Foundation.Math.Trigonometry
89+ Foundation.Hashing
90+ Foundation.Foreign
91+ Foundation.Collection
92+ Foundation.Primitive
93+ Foundation.List.DList
94+ Foundation.Monad
95+ Foundation.Monad.Except
96+ Foundation.Monad.Reader
97+ Foundation.Monad.State
98+ Foundation.Network.IPv4
99+ Foundation.Network.IPv6
100+ Foundation.System.Info
101+ Foundation.Strict
102+ Foundation.Parser
103+ Foundation.Random
104+ Foundation.Check
105+ Foundation.Check.Main
106+ Foundation.Timing
107+ Foundation.Timing.Main
108+ Foundation.Time.Types
109+ Foundation.Time.Bindings
110+ Foundation.Time.StopWatch
111+ Foundation.UUID
112+ Foundation.System.Entropy
113+ Foundation.System.Bindings
114+ other-modules:
115+ Foundation.Tuple
116+ Foundation.Hashing.FNV
117+ Foundation.Hashing.SipHash
118+ Foundation.Hashing.Hasher
119+ Foundation.Hashing.Hashable
120+ Foundation.Check.Gen
121+ Foundation.Check.Print
122+ Foundation.Check.Arbitrary
123+ Foundation.Check.Property
124+ Foundation.Check.Config
125+ Foundation.Check.Types
126+ Foundation.Collection.Buildable
127+ Foundation.Collection.List
128+ Foundation.Collection.Element
129+ Foundation.Collection.InnerFunctor
130+ Foundation.Collection.Collection
131+ Foundation.Collection.Copy
132+ Foundation.Collection.Sequential
133+ Foundation.Collection.Keyed
134+ Foundation.Collection.Indexed
135+ Foundation.Collection.Foldable
136+ Foundation.Collection.Mutable
137+ Foundation.Collection.Zippable
138+ Foundation.Collection.Mappable
139+ Foundation.Conduit.Internal
140+ Foundation.Numerical.Floating
141+ Foundation.IO.File
142+ Foundation.Monad.MonadIO
143+ Foundation.Monad.Exception
144+ Foundation.Monad.Transformer
145+ Foundation.Monad.Identity
146+ Foundation.Monad.Base
147+ Foundation.Random.Class
148+ Foundation.Random.DRG
149+ Foundation.Random.ChaChaDRG
150+ Foundation.Random.XorShift
151+ Foundation.Array.Chunked.Unboxed
152+ Foundation.Array.Bitmap
153+ Foundation.Foreign.Alloc
154+ Foundation.Foreign.MemoryMap
155+ Foundation.Foreign.MemoryMap.Types
156+ Foundation.Partial
157+ -- Foundation.Time.Bindings
158+ Foundation.System.Entropy.Common
159+ Foundation.System.Bindings.Network
160+ Foundation.System.Bindings.Time
161+ Foundation.System.Bindings.Hs
162+
163+ include-dirs: cbits
164+ c-sources: cbits/foundation_random.c
165+ cbits/foundation_network.c
166+ cbits/foundation_time.c
167+ cbits/foundation_utf8.c
168+
169+ if flag(experimental)
170+ exposed-modules: Foundation.Network.HostName
171+ if os(windows)
172+ exposed-modules: Foundation.System.Bindings.Windows
173+ other-modules: Foundation.Foreign.MemoryMap.Windows
174+ Foundation.System.Entropy.Windows
175+ else
176+ exposed-modules: Foundation.System.Bindings.Posix
177+ Foundation.System.Bindings.PosixDef
178+ other-modules: Foundation.Foreign.MemoryMap.Posix
179+ Foundation.System.Entropy.Unix
180+ if os(linux)
181+ exposed-modules: Foundation.System.Bindings.Linux
182+ if os(osx)
183+ exposed-modules: Foundation.System.Bindings.Macos
184+
185+ if impl(ghc >= 7.10)
186+ exposed-modules: Foundation.Tuple.Nth
187+ Foundation.List.ListN
188+
189+ default-extensions: NoImplicitPrelude
190+ RebindableSyntax
191+ TypeFamilies
192+ BangPatterns
193+ DeriveDataTypeable
194+ build-depends: base >= 4.7 && < 5
195+ , basement == 0.0.4
196+ , ghc-prim
197+ -- FIXME add suport for armel mipsel
198+ -- CPP-options: -DARCH_IS_LITTLE_ENDIAN
199+ -- FIXME add support for powerpc powerpc64 armeb mipseb
200+ -- CPP-options: -DARCH_IS_BIG_ENDIAN
201+ if (arch(i386) || arch(x86_64))
202+ cpp-options: -DARCH_IS_LITTLE_ENDIAN
203+ else
204+ cpp-options: -DARCH_IS_UNKNOWN_ENDIAN
205+ if os(windows)
206+ build-depends: Win32
207+ ghc-options: -Wall -fwarn-tabs
208+ default-language: Haskell2010
209+ if impl(ghc >= 8.0)
210+ ghc-options: -Wno-redundant-constraints
211+ if flag(bounds-check)
212+ cpp-options: -DFOUNDATION_BOUNDS_CHECK
213+
214+test-suite check-foundation
215+ type: exitcode-stdio-1.0
216+ hs-source-dirs: tests
217+ main-is: Checks.hs
218+ other-modules: Test.Checks.Property.Collection
219+ Test.Foundation.Random
220+ Test.Foundation.Misc
221+ Test.Foundation.Conduit
222+ Test.Foundation.Primitive.BlockN
223+ Test.Foundation.Storable
224+ Test.Foundation.Number
225+ Test.Foundation.String.Base64
226+ Test.Foundation.String
227+ Test.Foundation.Bits
228+ Test.Data.Network
229+ Test.Data.List
230+ Test.Foundation.Network.IPv4
231+ Test.Foundation.Network.IPv6
232+ default-extensions: NoImplicitPrelude
233+ RebindableSyntax
234+ OverloadedStrings
235+ build-depends: base >= 3 && < 5
236+ , basement
237+ , foundation
238+ ghc-options: -Wall -fno-warn-orphans -fno-warn-missing-signatures
239+ default-language: Haskell2010
240+ if impl(ghc >= 8.0)
241+ ghc-options: -Wno-redundant-constraints
242+
243+test-suite doctest
244+ type: exitcode-stdio-1.0
245+ hs-source-dirs: tests
246+ default-language: Haskell2010
247+ main-is: DocTest.hs
248+ default-extensions: NoImplicitPrelude
249+ RebindableSyntax
250+ if flag(minimal-deps)
251+ -- TODO: for no, force unbuildable anyway
252+ buildable: False
253+ else
254+ if flag(doctest)
255+ build-depends: base >= 3 && < 5
256+ , doctest >= 0.9
257+ buildable: True
258+ else
259+ buildable: False
260+
261+Benchmark bench
262+ main-is: Main.hs
263+ other-modules: BenchUtil.Common
264+ BenchUtil.RefData
265+ Sys
266+ Fake.ByteString
267+ Fake.Text
268+ Fake.Vector
269+ hs-source-dirs: benchs
270+ default-language: Haskell2010
271+ type: exitcode-stdio-1.0
272+ default-extensions: NoImplicitPrelude
273+ BangPatterns
274+ if flag(minimal-deps) || impl(ghc < 7.10)
275+ buildable: False
276+ else
277+ build-depends: base >= 4, gauge, basement, foundation
278+ if flag(bench-all)
279+ cpp-options: -DBENCH_ALL
280+ build-depends: text, attoparsec, vector, bytestring
test/golden-test-cases/foundation.nix.goldennew file+12
@@ -0,0 +1,12 @@
1+{ mkDerivation, base, basement, gauge, ghc-prim, stdenv }:
2+mkDerivation {
3+ pname = "foundation";
4+ version = "0.0.17";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base basement ghc-prim ];
7+ testHaskellDepends = [ base basement ];
8+ benchmarkHaskellDepends = [ base basement gauge ];
9+ homepage = "https://github.com/haskell-foundation/foundation";
10+ description = "Alternative prelude with batteries and no dependencies";
11+ license = stdenv.lib.licenses.bsd3;
12+}
test/golden-test-cases/frisby.cabalnew file+37
@@ -0,0 +1,37 @@
1+name: frisby
2+version: 0.2.2
3+cabal-version: >=1.6
4+license: BSD3
5+copyright: John Meacham (2006)
6+author: John Meacham <john@repetae.net>
7+maintainer: Ben Gamari <ben@smart-cactus.org>
8+stability: experimental
9+homepage: http://repetae.net/computer/frisby/
10+homepage: http://repetae.net/computer/frisby/
11+package-url: http://repetae.net/repos/frisby
12+synopsis: Linear time composable parser for PEG grammars
13+description: frisby is a parser library that can parse arbitrary PEG
14+ grammars in linear time. Unlike other parsers of PEG grammars,
15+ frisby need not be supplied with all possible rules up front,
16+ allowing composition of smaller parsers.
17+ .
18+ PEG parsers are never ambiguous and allow infinite lookahead
19+ with no backtracking penalty. Since PEG parsers can look ahead
20+ arbitrarily, they can easily express rules such as the maximal
21+ munch rule used in lexers, meaning no separate lexer is needed.
22+ .
23+ In addition to many standard combinators, frisby provides
24+ routines to translate standard regex syntax into frisby parsers.
25+extra-source-files: Changelog.md
26+category: Text
27+tested-with: GHC == 7.6.*, GHC == 7.8.*, GHC == 7.10.*, GHC == 8.0.*, GHC == 8.2.*
28+license-file: LICENSE
29+build-type: Simple
30+
31+library
32+ exposed-modules: Text.Parsers.Frisby, Text.Parsers.Frisby.Char
33+ build-depends: base>=4 && <5, containers, mtl, array, semigroups
34+
35+source-repository head
36+ type: git
37+ location: https://github.com/bgamari/frisby
test/golden-test-cases/frisby.nix.goldennew file+10
@@ -0,0 +1,10 @@
1+{ mkDerivation, array, base, containers, mtl, semigroups, stdenv }:
2+mkDerivation {
3+ pname = "frisby";
4+ version = "0.2.2";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ array base containers mtl semigroups ];
7+ homepage = "http://repetae.net/computer/frisby/";
8+ description = "Linear time composable parser for PEG grammars";
9+ license = stdenv.lib.licenses.bsd3;
10+}
test/golden-test-cases/funcmp.cabalnew file+92
@@ -0,0 +1,92 @@
1+-- Copyright (c) 2005-2010 Peter Simons
2+--
3+-- This program is free software: you can redistribute it and/or modify
4+-- it under the terms of the GNU General Public License as published by
5+-- the Free Software Foundation, either version 3 of the License, or
6+-- (at your option) any later version.
7+--
8+-- This program is distributed in the hope that it will be useful,
9+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
10+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+-- GNU General Public License for more details.
12+--
13+-- You should have received a copy of the GNU General Public License
14+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
16+Name: funcmp
17+Version: 1.8
18+License: GPL-3
19+License-File: COPYING
20+Author: Meik Hellmund, Ralf Hinze, Joachim Korittky,
21+ Marco Kuhlmann, Ferenc Wágner, Peter Simons,
22+ Robin Green
23+Maintainer: Peter Simons <simons@cryp.to>
24+Homepage: http://savannah.nongnu.org/projects/funcmp/
25+Bug-Reports: http://savannah.nongnu.org/bugs/?func=additem&group=funcmp
26+Category: Graphics
27+Synopsis: Functional MetaPost
28+Description: Functional MetaPost is a Haskell frontend to the
29+ MetaPost language by John Hobby. Users write their
30+ graphics as Haskell programs, which then emit MetaPost
31+ code that can be compiled into encapsulated PostScript
32+ files and smoothly included into e.g. LaTeX.
33+ .
34+ A collection of useful examples how to use Functional
35+ MetaPost can be found in the user's manual at
36+ <http://download.savannah.nongnu.org/releases/funcmp/Manual_eng.ps>. The
37+ document doesn't offer very much detail in terms of
38+ explanations, but the code samples are quite helpful.
39+ .
40+ Further documentation can be found in the original
41+ thesis that describes the implementation. The text is
42+ available in German at
43+ <http://download.savannah.nongnu.org/releases/funcmp/Thesis.ps> and in
44+ English at
45+ <http://download.savannah.nongnu.org/releases/funcmp/Thesis_eng.ps>.
46+ .
47+ Last but not least, there is a tutorial that offers many
48+ helpful examples available in German at
49+ <http://download.savannah.nongnu.org/releases/funcmp/Tutorial.ps> and in
50+ English at
51+ <http://download.savannah.nongnu.org/releases/funcmp/Tutorial_eng.ps>.
52+Cabal-Version: >= 1.6
53+Build-Type: Simple
54+Tested-With: GHC >= 6.10.4 && <= 7.10.1
55+
56+Data-files: doc/FMPMain.hs
57+ doc/Manual.lhs
58+ doc/Manual_eng.lhs
59+ doc/README.doc
60+ doc/Tutorial.lhs
61+ doc/Tutorial_eng.lhs
62+ doc/fmp.ini
63+ doc/lhs2TeX.fmt
64+ texmf/FuncMP.mp
65+ texmf/fmp1.mf
66+ texmf/fmp24.mf
67+ texmf/fmp8.mf
68+
69+Source-Repository head
70+ Type: git
71+ Location: git://git.savannah.nongnu.org/funcmp.git
72+
73+Library
74+ Build-Depends: base >= 3 && <= 5, process >= 1.0.1.1, filepath
75+ Exposed-Modules: FMP
76+ FMP.Canvas
77+ FMP.Color
78+ FMP.Core
79+ FMP.File
80+ FMP.Frames
81+ FMP.Matrix
82+ FMP.PP
83+ FMP.Picture
84+ FMP.RedBlack
85+ FMP.Resolve
86+ FMP.Symbols
87+ FMP.Syntax
88+ FMP.Term
89+ FMP.Tree
90+ FMP.Turtle
91+ FMP.Types
92+ Other-Modules: Paths_funcmp
test/golden-test-cases/funcmp.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, filepath, process, stdenv }:
2+mkDerivation {
3+ pname = "funcmp";
4+ version = "1.8";
5+ sha256 = "deadbeef";
6+ enableSeparateDataOutput = true;
7+ libraryHaskellDepends = [ base filepath process ];
8+ homepage = "http://savannah.nongnu.org/projects/funcmp/";
9+ description = "Functional MetaPost";
10+ license = stdenv.lib.licenses.gpl3;
11+}
test/golden-test-cases/functor-classes-compat.cabalnew file+147
@@ -0,0 +1,147 @@
1+name: functor-classes-compat
2+version: 1
3+synopsis: Data.Functor.Classes instances for core packages
4+description:
5+ "Data.Functor.Classes" instances for core packages:
6+ .
7+ * containers
8+ .
9+ * vector
10+ .
11+ * unordered-containers
12+homepage: https://github.com/phadej/functor-classes-compat#readme
13+bug-reports: https://github.com/phadej/functor-classes-compat/issues
14+license: BSD3
15+license-file: LICENSE
16+author: Oleg Grenrus <oleg.grenrus@iki.fi>
17+maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
18+copyright: 2016 Oleg Grenrus
19+category: Data
20+build-type: Simple
21+extra-source-files: README.md
22+cabal-version: >=1.10
23+tested-with:
24+ GHC==7.4.2,
25+ GHC==7.6.3,
26+ GHC==7.8.4,
27+ GHC==7.10.3,
28+ GHC==8.0.1,
29+ GHC==8.0.2
30+
31+flag base-transformers-1
32+ description: Together with base-transformers-1 pick: base >= 4.9, transformers < 0.4, 0.4.*, or >= 0.5. See cabal file for precise assignments.
33+ manual: False
34+ default: True
35+
36+flag base-transformers-2
37+ description: See base-transformers-1 flag
38+ manual: False
39+ default: True
40+
41+flag vector
42+ description: 'vector >= 0.12'
43+ manual: False
44+ default: True
45+
46+flag containers
47+ description: 'containers >= 0.5.9.1'
48+ manual: False
49+ default: True
50+
51+flag unordered-containers
52+ description: 'unordered-containers >= 0.2.8.0'
53+ manual: False
54+ default: True
55+
56+source-repository head
57+ type: git
58+ location: https://github.com/phadej/functor-classes-compat
59+
60+library
61+ exposed-modules:
62+ Data.Map.Functor.Classes
63+ Data.Set.Functor.Classes
64+ Data.IntMap.Functor.Classes
65+ Data.Vector.Functor.Classes
66+ Data.HashSet.Functor.Classes
67+ Data.HashMap.Functor.Classes
68+ default-language: Haskell2010
69+ ghc-options: -Wall
70+
71+ build-depends: hashable >=1.0.1.1 && <1.3
72+
73+ -- base and transformer dependencies:
74+ -- t t: base >= 4.9
75+ -- t f: transformers >= 0.5
76+ -- f t: transformers < 0.4
77+ -- f f: transformers == 0.4.*
78+ --
79+ -- The order is chosen so 'f f' combination is only requiring src-old
80+ if flag(base-transformers-1)
81+ if flag(base-transformers-2)
82+ build-depends: base >=4.9 && <4.10
83+ else
84+ build-depends: base >= 4.5 && <4.9,
85+ transformers >= 0.5 && <0.6
86+ else
87+ if flag(base-transformers-2)
88+ -- we don't really care about transformers version, as long as it <0.4
89+ -- to make flag selection deterministic
90+ build-depends: base >= 4.5 && <4.9,
91+ transformers < 0.4,
92+ transformers-compat >= 0.5 && <0.6
93+ else
94+ build-depends: base >= 4.5 && <4.9,
95+ transformers >= 0.4 && <0.5
96+
97+
98+ -- containers
99+ if flag(containers)
100+ build-depends: containers >= 0.5.9.1 && <0.6
101+ if flag(base-transformers-1) && flag(base-transformers-2)
102+ hs-source-dirs: src-none/containers
103+ else
104+ if !flag(base-transformers-1) && !flag(base-transformers-2)
105+ hs-source-dirs: src-implicit/containers
106+ else
107+ hs-source-dirs: src-explicit/containers
108+ else
109+ build-depends: containers >= 0.4 && <0.5.9.1
110+ if !flag(base-transformers-1) && !flag(base-transformers-2)
111+ hs-source-dirs: src-implicit/containers
112+ else
113+ hs-source-dirs: src-explicit/containers
114+
115+ -- unordered-containers
116+ if flag(unordered-containers)
117+ build-depends: unordered-containers >= 0.2.8.0 && <0.3
118+ if flag(base-transformers-1) && flag(base-transformers-2)
119+ hs-source-dirs: src-none/unordered-containers
120+ else
121+ if !flag(base-transformers-1) && !flag(base-transformers-2)
122+ hs-source-dirs: src-implicit/unordered-containers
123+ else
124+ hs-source-dirs: src-explicit/unordered-containers
125+ else
126+ build-depends: unordered-containers >= 0.2.7.1 && <0.2.8.0
127+ if !flag(base-transformers-1) && !flag(base-transformers-2)
128+ hs-source-dirs: src-implicit/unordered-containers
129+ else
130+ hs-source-dirs: src-explicit/unordered-containers
131+
132+ -- vector
133+ if flag(vector)
134+ build-depends: vector >= 0.12 && <0.13
135+ if flag(base-transformers-1) && flag(base-transformers-2)
136+ hs-source-dirs: src-none/vector
137+ else
138+ if !flag(base-transformers-1) && !flag(base-transformers-2)
139+ hs-source-dirs: src-implicit/vector
140+ else
141+ hs-source-dirs: src-explicit/vector
142+ else
143+ build-depends: vector >= 0.11.0.0 && <0.12
144+ if !flag(base-transformers-1) && !flag(base-transformers-2)
145+ hs-source-dirs: src-implicit/vector
146+ else
147+ hs-source-dirs: src-explicit/vector
test/golden-test-cases/functor-classes-compat.nix.goldennew file+14
@@ -0,0 +1,14 @@
1+{ mkDerivation, base, containers, hashable, stdenv
2+, unordered-containers, vector
3+}:
4+mkDerivation {
5+ pname = "functor-classes-compat";
6+ version = "1";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base containers hashable unordered-containers vector
10+ ];
11+ homepage = "https://github.com/phadej/functor-classes-compat#readme";
12+ description = "Data.Functor.Classes instances for core packages";
13+ license = stdenv.lib.licenses.bsd3;
14+}
test/golden-test-cases/general-games.cabalnew file+53
@@ -0,0 +1,53 @@
1+name: general-games
2+version: 1.0.5
3+synopsis: Library supporting simulation of a number of games
4+homepage: https://github.com/cgorski/general-games
5+bug-reports: https://github.com/cgorski/general-games/issues
6+license: MIT
7+license-file: LICENSE
8+author: Christopher A. Gorski
9+maintainer: cgorski@cgorski.org
10+copyright: 2017 Christopher A. Gorski
11+category: Game, Poker
12+build-type: Simple
13+extra-source-files: README.md
14+cabal-version: >=1.10
15+
16+description:
17+ Library providing framework for simulating outcomes of a variety
18+ of games, including Poker.
19+
20+source-repository head
21+ type: git
22+ location: git://github.com/cgorski/general-games.git
23+
24+library
25+ hs-source-dirs: src
26+ exposed-modules: Game.Implement.Card
27+ , Game.Implement.Card.Standard
28+ , Game.Implement.Card.Standard.Poker
29+ , Game.Game.Poker
30+
31+ build-depends: base >= 4.7 && < 5
32+ , random-shuffle
33+ , MonadRandom
34+ , random
35+ , monad-loops
36+ default-language: Haskell2010
37+ ghc-options: -Wall
38+
39+test-suite general-games-test
40+ type: exitcode-stdio-1.0
41+ hs-source-dirs: test
42+ main-is: Spec.hs
43+ build-depends: base
44+ , general-games
45+ , HUnit
46+ , hspec
47+ , MonadRandom
48+ ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N1 -O
49+ default-language: Haskell2010
50+
51+source-repository head
52+ type: git
53+ location: https://github.com/cgorski/general-games
test/golden-test-cases/general-games.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, base, hspec, HUnit, monad-loops, MonadRandom
2+, random, random-shuffle, stdenv
3+}:
4+mkDerivation {
5+ pname = "general-games";
6+ version = "1.0.5";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base monad-loops MonadRandom random random-shuffle
10+ ];
11+ testHaskellDepends = [ base hspec HUnit MonadRandom ];
12+ homepage = "https://github.com/cgorski/general-games";
13+ description = "Library supporting simulation of a number of games";
14+ license = stdenv.lib.licenses.mit;
15+}
test/golden-test-cases/generic-lens.cabalnew file+123
@@ -0,0 +1,123 @@
1+name: generic-lens
2+version: 0.5.1.0
3+synopsis: Generic data-structure operations exposed as lenses.
4+description: This package uses the GHC 8 Generic representation to derive various operations on data structures with a lens interface, including structural subtype relationship between records and positional indexing into arbitrary product types.
5+
6+homepage: https://github.com/kcsongor/generic-lens
7+license: BSD3
8+license-file: LICENSE
9+author: Csongor Kiss
10+maintainer: kiss.csongor.kiss@gmail.com
11+category: Generics, Records, Lens
12+build-type: Simple
13+cabal-version: >= 1.10
14+Tested-With: GHC == 8.0.2, GHC == 8.2.1
15+
16+extra-source-files: ChangeLog.md
17+ , examples/StarWars.hs
18+ , examples/Examples.hs
19+ , README.md
20+
21+library
22+ exposed-modules: Data.Generics.Product
23+ , Data.Generics.Product.Any
24+ , Data.Generics.Product.Fields
25+ , Data.Generics.Product.Positions
26+ , Data.Generics.Product.Subtype
27+ , Data.Generics.Product.Typed
28+ --, Data.Generics.Labels
29+
30+ , Data.Generics.Sum
31+ , Data.Generics.Sum.Any
32+ , Data.Generics.Sum.Constructors
33+ , Data.Generics.Sum.Typed
34+ , Data.Generics.Sum.Subtype
35+ , Data.Generics.Internal.Lens
36+
37+ other-modules: Data.Generics.Internal.Families
38+ , Data.Generics.Internal.Families.Changing
39+ , Data.Generics.Internal.Families.Collect
40+ , Data.Generics.Internal.Families.Has
41+ , Data.Generics.Internal.HList
42+ , Data.Generics.Internal.Void
43+
44+ , Data.Generics.Sum.Internal.Constructors
45+ , Data.Generics.Sum.Internal.Typed
46+ , Data.Generics.Sum.Internal.Subtype
47+
48+ , Data.Generics.Product.Internal.Fields
49+ , Data.Generics.Product.Internal.Positions
50+ , Data.Generics.Product.Internal.Subtype
51+ , Data.Generics.Product.Internal.Typed
52+
53+ build-depends: base >= 4.9 && <= 5.0
54+ , profunctors >= 5.0 && <= 6.0
55+ , tagged >= 0.8 && <= 0.9
56+
57+ hs-source-dirs: src
58+ default-language: Haskell2010
59+ ghc-options: -Wall
60+
61+source-repository head
62+ type: git
63+ location: https://github.com/kcsongor/generic-lens
64+
65+test-suite generic-lens-test
66+ type: exitcode-stdio-1.0
67+ hs-source-dirs: test
68+ main-is: Spec.hs
69+
70+ build-depends: base >= 4.9 && <= 5.0
71+ , generic-lens
72+ , inspection-testing >= 0.1
73+
74+ default-language: Haskell2010
75+ ghc-options: -Wall
76+
77+test-suite generic-lens-test-25
78+ type: exitcode-stdio-1.0
79+ hs-source-dirs: test
80+ main-is: 25.hs
81+
82+ build-depends: base >= 4.9 && <= 5.0
83+ , generic-lens
84+ , lens
85+
86+ default-language: Haskell2010
87+ ghc-options: -Wall
88+
89+test-suite generic-lens-test-24
90+ type: exitcode-stdio-1.0
91+ hs-source-dirs: test
92+ main-is: 24.hs
93+
94+ build-depends: base >= 4.9 && <= 5.0
95+ , generic-lens
96+ , lens
97+
98+ default-language: Haskell2010
99+ ghc-options: -Wall
100+
101+test-suite doctests
102+ default-language: Haskell2010
103+ type: exitcode-stdio-1.0
104+ ghc-options: -threaded
105+ main-is: doctest.hs
106+ build-depends: base >4 && <5, doctest
107+ hs-source-dirs: test
108+
109+benchmark generic-lens-bench
110+ type: exitcode-stdio-1.0
111+ hs-source-dirs: benchmarks
112+ main-is: Bench.hs
113+
114+ build-depends: generic-lens
115+
116+ , base >= 4.9 && <= 5.0
117+ , QuickCheck
118+ , criterion
119+ , deepseq
120+ , lens
121+
122+ default-language: Haskell2010
123+ ghc-options: -Wall
test/golden-test-cases/generic-lens.nix.goldennew file+16
@@ -0,0 +1,16 @@
1+{ mkDerivation, base, criterion, deepseq, doctest
2+, inspection-testing, lens, profunctors, QuickCheck, stdenv, tagged
3+}:
4+mkDerivation {
5+ pname = "generic-lens";
6+ version = "0.5.1.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base profunctors tagged ];
9+ testHaskellDepends = [ base doctest inspection-testing lens ];
10+ benchmarkHaskellDepends = [
11+ base criterion deepseq lens QuickCheck
12+ ];
13+ homepage = "https://github.com/kcsongor/generic-lens";
14+ description = "Generic data-structure operations exposed as lenses";
15+ license = stdenv.lib.licenses.bsd3;
16+}
test/golden-test-cases/genvalidity-aeson.cabalnew file+51
@@ -0,0 +1,51 @@
1+name: genvalidity-aeson
2+version: 0.1.0.0
3+cabal-version: >=1.10
4+build-type: Simple
5+license: MIT
6+license-file: LICENSE
7+copyright: Copyright: (c) 2017 Tom Sydney Kerckhove
8+maintainer: syd.kerckhove@gmail.com
9+homepage: https://github.com/NorfairKing/validity#readme
10+synopsis: GenValidity support for aeson
11+description:
12+ Please see README.md
13+category: Testing
14+author: Tom Sydney Kerckhove
15+
16+source-repository head
17+ type: git
18+ location: https://github.com/NorfairKing/validity
19+
20+library
21+ exposed-modules:
22+ Data.GenValidity.Aeson
23+ build-depends:
24+ base <5,
25+ QuickCheck -any,
26+ genvalidity >=0.4 && <0.5,
27+ validity >=0.4 && <0.5,
28+ validity-aeson >=0.1 && <0.2,
29+ genvalidity-text >=0.4 && <0.5,
30+ genvalidity-vector >=0.1 && <0.2,
31+ genvalidity-unordered-containers >=0.1 && <0.2,
32+ genvalidity-scientific >=0.1 && <0.2,
33+ aeson -any
34+ default-language: Haskell2010
35+ hs-source-dirs: src
36+
37+test-suite genvalidity-aeson-test
38+ type: exitcode-stdio-1.0
39+ main-is: Spec.hs
40+ build-depends:
41+ base >=4.9 && <=5,
42+ genvalidity -any,
43+ genvalidity-hspec -any,
44+ genvalidity-aeson -any,
45+ hspec >=2.2 && <2.5,
46+ aeson -any
47+ default-language: Haskell2010
48+ hs-source-dirs: test/
49+ other-modules:
50+ Test.Validity.AesonSpec
51+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
test/golden-test-cases/genvalidity-aeson.nix.goldennew file+21
@@ -0,0 +1,21 @@
1+{ mkDerivation, aeson, base, genvalidity, genvalidity-hspec
2+, genvalidity-scientific, genvalidity-text
3+, genvalidity-unordered-containers, genvalidity-vector, hspec
4+, QuickCheck, stdenv, validity, validity-aeson
5+}:
6+mkDerivation {
7+ pname = "genvalidity-aeson";
8+ version = "0.1.0.0";
9+ sha256 = "deadbeef";
10+ libraryHaskellDepends = [
11+ aeson base genvalidity genvalidity-scientific genvalidity-text
12+ genvalidity-unordered-containers genvalidity-vector QuickCheck
13+ validity validity-aeson
14+ ];
15+ testHaskellDepends = [
16+ aeson base genvalidity genvalidity-hspec hspec
17+ ];
18+ homepage = "https://github.com/NorfairKing/validity#readme";
19+ description = "GenValidity support for aeson";
20+ license = stdenv.lib.licenses.mit;
21+}
test/golden-test-cases/genvalidity-hspec-aeson.cabalnew file+63
@@ -0,0 +1,63 @@
1+name: genvalidity-hspec-aeson
2+version: 0.1.0.1
3+cabal-version: >=1.10
4+build-type: Simple
5+license: MIT
6+license-file: LICENSE
7+copyright: Copyright: (c) 2016 Tom Sydney Kerckhove
8+maintainer: syd.kerckhove@gmail.com
9+homepage: http://cs-syd.eu
10+synopsis: Standard spec's for aeson-related instances
11+description:
12+ Standard spec's for aeson-related Instances
13+category: Testing
14+author: Tom Sydney Kerckhove
15+
16+source-repository head
17+ type: git
18+ location: https://github.com/NorfairKing/validity
19+
20+library
21+ exposed-modules:
22+ Test.Validity.Aeson
23+ build-depends:
24+ base >=4.9 && <=5,
25+ genvalidity-hspec >=0.5 && <0.6,
26+ genvalidity >=0.4 && <0.5,
27+ hspec -any,
28+ aeson >=0.11 && <1.3,
29+ QuickCheck -any,
30+ deepseq >=1.4 && <1.5,
31+ bytestring -any
32+ default-language: Haskell2010
33+ hs-source-dirs: src/
34+ ghc-options: -Wall
35+
36+test-suite genvalidity-hspec-aeson-doctests
37+ type: exitcode-stdio-1.0
38+ main-is: DocTest.hs
39+ build-depends:
40+ base -any,
41+ doctest >=0.11 && <0.12,
42+ genvalidity-hspec-aeson -any
43+ default-language: Haskell2010
44+ hs-source-dirs: test
45+ ghc-options: -threaded
46+test-suite genvalidity-hspec-aeson-test
47+ type: exitcode-stdio-1.0
48+ main-is: Spec.hs
49+ build-depends:
50+ aeson -any,
51+ base -any,
52+ genvalidity -any,
53+ genvalidity-aeson -any,
54+ genvalidity-hspec -any,
55+ genvalidity-hspec-aeson -any,
56+ genvalidity-text -any,
57+ hspec -any,
58+ text -any
59+ default-language: Haskell2010
60+ hs-source-dirs: test/
61+ other-modules:
62+ Test.Validity.AesonSpec
63+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
test/golden-test-cases/genvalidity-hspec-aeson.nix.goldennew file+20
@@ -0,0 +1,20 @@
1+{ mkDerivation, aeson, base, bytestring, deepseq, doctest
2+, genvalidity, genvalidity-aeson, genvalidity-hspec
3+, genvalidity-text, hspec, QuickCheck, stdenv, text
4+}:
5+mkDerivation {
6+ pname = "genvalidity-hspec-aeson";
7+ version = "0.1.0.1";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ aeson base bytestring deepseq genvalidity genvalidity-hspec hspec
11+ QuickCheck
12+ ];
13+ testHaskellDepends = [
14+ aeson base doctest genvalidity genvalidity-aeson genvalidity-hspec
15+ genvalidity-text hspec text
16+ ];
17+ homepage = "http://cs-syd.eu";
18+ description = "Standard spec's for aeson-related instances";
19+ license = stdenv.lib.licenses.mit;
20+}
test/golden-test-cases/genvalidity-hspec-binary.cabalnew file+59
@@ -0,0 +1,59 @@
1+name: genvalidity-hspec-binary
2+version: 0.1.0.0
3+cabal-version: >=1.10
4+build-type: Simple
5+license: MIT
6+license-file: LICENSE
7+copyright: 2017 Tom Sydney Kerckhove
8+maintainer: syd.kerckhove@gmail.com
9+homepage: https://github.com/NorfairKing/validity#readme
10+synopsis: Standard spec's for binary-related Instances
11+description:
12+ Standard spec's for cereal-related Instances, see https://hackage.haskell.org/package/binary.
13+category: Testing
14+author: Nick Van den Broeck
15+extra-source-files:
16+ README.md
17+
18+source-repository head
19+ type: git
20+ location: https://github.com/NorfairKing/validity
21+
22+library
23+ exposed-modules:
24+ Test.Validity.Binary
25+ build-depends:
26+ base >=4.9 && <=5,
27+ QuickCheck -any,
28+ binary >=0.5 && <0.9,
29+ deepseq >=1.4 && <1.5,
30+ genvalidity >=0.4 && <0.5,
31+ genvalidity-hspec >=0.5 && <0.6,
32+ hspec -any
33+ default-language: Haskell2010
34+ hs-source-dirs: src/
35+ ghc-options: -Wall
36+
37+test-suite genvalidity-hspec-binary-doctests
38+ type: exitcode-stdio-1.0
39+ main-is: DocTest.hs
40+ build-depends:
41+ base -any,
42+ doctest >=0.11 && <0.12,
43+ genvalidity-hspec-binary -any
44+ default-language: Haskell2010
45+ hs-source-dirs: test
46+ ghc-options: -threaded
47+test-suite genvalidity-hspec-binary-test
48+ type: exitcode-stdio-1.0
49+ main-is: Spec.hs
50+ build-depends:
51+ base -any,
52+ genvalidity -any,
53+ genvalidity-hspec-binary -any,
54+ hspec -any
55+ default-language: Haskell2010
56+ hs-source-dirs: test/
57+ other-modules:
58+ Test.Validity.BinarySpec
59+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
test/golden-test-cases/genvalidity-hspec-binary.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, base, binary, deepseq, doctest, genvalidity
2+, genvalidity-hspec, hspec, QuickCheck, stdenv
3+}:
4+mkDerivation {
5+ pname = "genvalidity-hspec-binary";
6+ version = "0.1.0.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base binary deepseq genvalidity genvalidity-hspec hspec QuickCheck
10+ ];
11+ testHaskellDepends = [ base doctest genvalidity hspec ];
12+ homepage = "https://github.com/NorfairKing/validity#readme";
13+ description = "Standard spec's for binary-related Instances";
14+ license = stdenv.lib.licenses.mit;
15+}
test/golden-test-cases/genvalidity-scientific.cabalnew file+48
@@ -0,0 +1,48 @@
1+name: genvalidity-scientific
2+version: 0.1.0.0
3+cabal-version: >=1.10
4+build-type: Simple
5+license: MIT
6+license-file: LICENSE
7+copyright: Copyright: (c) 2017 Tom Sydney Kerckhove
8+maintainer: syd.kerckhove@gmail.com
9+homepage: https://github.com/NorfairKing/validity#readme
10+synopsis: GenValidity support for Scientific
11+description:
12+ Please see README.md
13+category: Testing
14+author: Tom Sydney Kerckhove
15+
16+source-repository head
17+ type: git
18+ location: https://github.com/NorfairKing/validity
19+
20+library
21+ exposed-modules:
22+ Data.GenValidity.Scientific
23+ build-depends:
24+ base >=4.7 && <5,
25+ QuickCheck -any,
26+ genvalidity >=0.4 && <0.5,
27+ scientific -any,
28+ validity >=0.4 && <0.5,
29+ validity-scientific >=0.1 && <0.2
30+ default-language: Haskell2010
31+ hs-source-dirs: src
32+
33+test-suite genvalidity-scientific-test
34+ type: exitcode-stdio-1.0
35+ main-is: Spec.hs
36+ build-depends:
37+ base -any,
38+ QuickCheck -any,
39+ genvalidity -any,
40+ genvalidity-hspec -any,
41+ genvalidity-scientific -any,
42+ hspec -any,
43+ scientific -any
44+ default-language: Haskell2010
45+ hs-source-dirs: test
46+ other-modules:
47+ Data.GenValidity.ScientificSpec
48+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -fno-warn-name-shadowing
test/golden-test-cases/genvalidity-scientific.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
2+, QuickCheck, scientific, stdenv, validity, validity-scientific
3+}:
4+mkDerivation {
5+ pname = "genvalidity-scientific";
6+ version = "0.1.0.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base genvalidity QuickCheck scientific validity validity-scientific
10+ ];
11+ testHaskellDepends = [
12+ base genvalidity genvalidity-hspec hspec QuickCheck scientific
13+ ];
14+ homepage = "https://github.com/NorfairKing/validity#readme";
15+ description = "GenValidity support for Scientific";
16+ license = stdenv.lib.licenses.mit;
17+}
test/golden-test-cases/genvalidity-uuid.cabalnew file+48
@@ -0,0 +1,48 @@
1+name: genvalidity-uuid
2+version: 0.0.0.0
3+cabal-version: >=1.10
4+build-type: Simple
5+license: MIT
6+license-file: LICENSE
7+copyright: Copyright: (c) 2017 Tom Sydney Kerckhove
8+maintainer: syd.kerckhove@gmail.com
9+homepage: https://github.com/NorfairKing/validity#readme
10+synopsis: GenValidity support for UUID
11+description:
12+ Please see README.md
13+category: Testing
14+author: Tom Sydney Kerckhove
15+
16+source-repository head
17+ type: git
18+ location: https://github.com/NorfairKing/validity
19+
20+library
21+ exposed-modules:
22+ Data.GenValidity.UUID
23+ build-depends:
24+ base >=4.7 && <5,
25+ QuickCheck -any,
26+ genvalidity >=0.4 && <0.5,
27+ uuid -any,
28+ validity >= 0.4 && <0.5,
29+ validity-uuid >= 0.0 && <0.1
30+ default-language: Haskell2010
31+ hs-source-dirs: src
32+
33+test-suite genvalidity-uuid-test
34+ type: exitcode-stdio-1.0
35+ main-is: Spec.hs
36+ build-depends:
37+ base -any,
38+ QuickCheck -any,
39+ genvalidity -any,
40+ genvalidity-hspec -any,
41+ genvalidity-uuid -any,
42+ hspec -any,
43+ uuid -any
44+ default-language: Haskell2010
45+ hs-source-dirs: test
46+ other-modules:
47+ Data.GenValidity.UUIDSpec
48+ ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -fno-warn-name-shadowing
test/golden-test-cases/genvalidity-uuid.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
2+, QuickCheck, stdenv, uuid, validity, validity-uuid
3+}:
4+mkDerivation {
5+ pname = "genvalidity-uuid";
6+ version = "0.0.0.0";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [
9+ base genvalidity QuickCheck uuid validity validity-uuid
10+ ];
11+ testHaskellDepends = [
12+ base genvalidity genvalidity-hspec hspec QuickCheck uuid
13+ ];
14+ homepage = "https://github.com/NorfairKing/validity#readme";
15+ description = "GenValidity support for UUID";
16+ license = stdenv.lib.licenses.mit;
17+}
test/golden-test-cases/ghc-syb-utils.cabalnew file+51
@@ -0,0 +1,51 @@
1+name: ghc-syb-utils
2+version: 0.2.3.3
3+license: BSD3
4+license-file: LICENSE
5+author: Claus Reinke
6+copyright: (c) Claus Reinke 2008
7+maintainer: Thomas Schilling <nominolo@googlemail.com>
8+homepage: http://github.com/nominolo/ghc-syb
9+description: Scrap Your Boilerplate utilities for the GHC API.
10+synopsis: Scrap Your Boilerplate utilities for the GHC API.
11+category: Development
12+stability: provisional
13+build-type: Simple
14+cabal-version: >= 1.10
15+tested-with: GHC ==7.8.3, GHC ==7.10.0
16+
17+extra-source-files: test/test-cases/*.hs
18+
19+library
20+ build-depends: base >= 4 && < 5
21+ , syb >= 0.1.0
22+
23+ if impl(ghc >= 7.0)
24+ build-depends:
25+ ghc
26+ else
27+ build-depends:
28+ ghc >= 6.10,
29+ ghc-syb == 0.2.*
30+
31+ hs-source-dirs: .
32+ default-language: Haskell2010
33+ default-extensions: Rank2Types, CPP
34+ ghc-options: -Wall
35+
36+ exposed-modules: GHC.SYB.Utils
37+
38+
39+
40+test-suite regression-tests
41+ type: exitcode-stdio-1.0
42+ hs-source-dirs: test
43+ main-is: Regression.hs
44+ default-language: Haskell2010
45+ build-depends:
46+ base,
47+ directory,
48+ filepath,
49+ ghc,
50+ ghc-paths,
51+ ghc-syb-utils
test/golden-test-cases/ghc-syb-utils.nix.goldennew file+13
@@ -0,0 +1,13 @@
1+{ mkDerivation, base, directory, filepath, ghc, ghc-paths, stdenv
2+, syb
3+}:
4+mkDerivation {
5+ pname = "ghc-syb-utils";
6+ version = "0.2.3.3";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base ghc syb ];
9+ testHaskellDepends = [ base directory filepath ghc ghc-paths ];
10+ homepage = "http://github.com/nominolo/ghc-syb";
11+ description = "Scrap Your Boilerplate utilities for the GHC API";
12+ license = stdenv.lib.licenses.bsd3;
13+}
test/golden-test-cases/ghcid.cabalnew file+117
@@ -0,0 +1,117 @@
1+cabal-version: >= 1.18
2+build-type: Simple
3+name: ghcid
4+version: 0.6.8
5+license: BSD3
6+license-file: LICENSE
7+category: Development
8+author: Neil Mitchell <ndmitchell@gmail.com>, jpmoresmau
9+maintainer: Neil Mitchell <ndmitchell@gmail.com>
10+copyright: Neil Mitchell 2014-2017
11+synopsis: GHCi based bare bones IDE
12+description:
13+ Either \"GHCi as a daemon\" or \"GHC + a bit of an IDE\". A very simple Haskell development tool which shows you the errors in your project and updates them whenever you save. Run @ghcid --topmost --command=ghci@, where @--topmost@ makes the window on top of all others (Windows only) and @--command@ is the command to start GHCi on your project (defaults to @ghci@ if you have a @.ghci@ file, or else to @cabal repl@).
14+homepage: https://github.com/ndmitchell/ghcid#readme
15+bug-reports: https://github.com/ndmitchell/ghcid/issues
16+tested-with: GHC==8.2.1, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3
17+extra-doc-files:
18+ CHANGES.txt
19+ README.md
20+
21+source-repository head
22+ type: git
23+ location: https://github.com/ndmitchell/ghcid.git
24+
25+library
26+ hs-source-dirs: src
27+ default-language: Haskell2010
28+ build-depends:
29+ base >= 4,
30+ filepath,
31+ time,
32+ directory,
33+ extra >= 1.2,
34+ process >= 1.1,
35+ cmdargs >= 0.10
36+ if os(windows)
37+ build-depends: Win32
38+ else
39+ build-depends: unix
40+
41+ exposed-modules:
42+ Language.Haskell.Ghcid
43+ other-modules:
44+ Paths_ghcid
45+ Language.Haskell.Ghcid.Types
46+ Language.Haskell.Ghcid.Parser
47+ Language.Haskell.Ghcid.Util
48+
49+executable ghcid
50+ hs-source-dirs: src
51+ default-language: Haskell2010
52+ ghc-options: -main-is Ghcid.main -threaded
53+ main-is: Ghcid.hs
54+ build-depends:
55+ base == 4.*,
56+ filepath,
57+ time,
58+ directory,
59+ containers,
60+ fsnotify,
61+ extra >= 1.2,
62+ process >= 1.1,
63+ cmdargs >= 0.10,
64+ ansi-terminal,
65+ terminal-size >= 0.3
66+ if os(windows)
67+ build-depends: Win32
68+ else
69+ build-depends: unix
70+ other-modules:
71+ Language.Haskell.Ghcid.Types
72+ Language.Haskell.Ghcid.Parser
73+ Language.Haskell.Ghcid.Terminal
74+ Language.Haskell.Ghcid.Util
75+ Language.Haskell.Ghcid
76+ Paths_ghcid
77+ Session
78+ Wait
79+
80+test-suite ghcid_test
81+ type: exitcode-stdio-1.0
82+ hs-source-dirs: src
83+ main-is: Test.hs
84+ ghc-options: -rtsopts -main-is Test.main -threaded -with-rtsopts=-K1K
85+ default-language: Haskell2010
86+ build-depends:
87+ base >= 4,
88+ filepath,
89+ time,
90+ directory,
91+ process,
92+ containers,
93+ fsnotify,
94+ extra >= 1.2,
95+ ansi-terminal,
96+ terminal-size >= 0.3,
97+ cmdargs,
98+ tasty,
99+ tasty-hunit
100+ if os(windows)
101+ build-depends: Win32
102+ else
103+ build-depends: unix
104+ other-modules:
105+ Ghcid
106+ Language.Haskell.Ghcid
107+ Language.Haskell.Ghcid.Parser
108+ Language.Haskell.Ghcid.Terminal
109+ Language.Haskell.Ghcid.Types
110+ Language.Haskell.Ghcid.Util
111+ Paths_ghcid
112+ Session
113+ Test.API
114+ Test.Ghcid
115+ Test.Parser
116+ Test.Util
117+ Wait
test/golden-test-cases/ghcid.nix.goldennew file+25
@@ -0,0 +1,25 @@
1+{ mkDerivation, ansi-terminal, base, cmdargs, containers, directory
2+, extra, filepath, fsnotify, process, stdenv, tasty, tasty-hunit
3+, terminal-size, time, unix
4+}:
5+mkDerivation {
6+ pname = "ghcid";
7+ version = "0.6.8";
8+ sha256 = "deadbeef";
9+ isLibrary = true;
10+ isExecutable = true;
11+ libraryHaskellDepends = [
12+ base cmdargs directory extra filepath process time unix
13+ ];
14+ executableHaskellDepends = [
15+ ansi-terminal base cmdargs containers directory extra filepath
16+ fsnotify process terminal-size time unix
17+ ];
18+ testHaskellDepends = [
19+ ansi-terminal base cmdargs containers directory extra filepath
20+ fsnotify process tasty tasty-hunit terminal-size time unix
21+ ];
22+ homepage = "https://github.com/ndmitchell/ghcid#readme";
23+ description = "GHCi based bare bones IDE";
24+ license = stdenv.lib.licenses.bsd3;
25+}
test/golden-test-cases/giphy-api.cabalnew file+94
@@ -0,0 +1,94 @@
1+-- This file has been generated from package.yaml by hpack version 0.15.0.
2+--
3+-- see: https://github.com/sol/hpack
4+
5+name: giphy-api
6+version: 0.5.2.0
7+synopsis: Giphy HTTP API wrapper and CLI search tool.
8+description: Please see README.md
9+category: Web
10+homepage: http://github.com/passy/giphy-api#readme
11+author: Pascal Hartig
12+maintainer: Pascal Hartig <phartig@rdrei.net>
13+license: BSD3
14+license-file: LICENSE
15+build-type: Simple
16+cabal-version: >= 1.10
17+
18+extra-source-files:
19+ changelog.md
20+ README.md
21+ stack.yaml
22+ test/fixtures/random_response.json
23+ test/fixtures/search_response.json
24+ test/fixtures/translate_response.json
25+
26+flag buildSample
27+ description: Build the sample application.
28+ manual: True
29+ default: False
30+
31+library
32+ hs-source-dirs:
33+ src
34+ ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unused-do-bind
35+ build-depends:
36+ base >= 4.7 && < 5
37+ , text
38+ , network-uri
39+ , aeson
40+ , containers
41+ , microlens
42+ , microlens-th
43+ , mtl
44+ , servant >= 0.9
45+ , servant-client >= 0.9
46+ , transformers
47+ , http-api-data
48+ , http-client
49+ , http-client-tls
50+ exposed-modules:
51+ Web.Giphy
52+ other-modules:
53+ Paths_giphy_api
54+ default-language: Haskell2010
55+
56+executable giphy-search
57+ main-is: Main.hs
58+ hs-source-dirs:
59+ app
60+ ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unused-do-bind -threaded -rtsopts -with-rtsopts=-N
61+ build-depends:
62+ base >= 4.7 && < 5
63+ , text
64+ , network-uri
65+ if flag(buildSample)
66+ build-depends:
67+ giphy-api
68+ , lens
69+ , optparse-applicative
70+ else
71+ buildable: False
72+ other-modules:
73+ Sample
74+ default-language: Haskell2010
75+
76+test-suite spec
77+ type: exitcode-stdio-1.0
78+ main-is: Spec.hs
79+ hs-source-dirs:
80+ test
81+ ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-record-updates -fwarn-monomorphism-restriction -fwarn-unused-do-bind -threaded -rtsopts -with-rtsopts=-N
82+ build-depends:
83+ base >= 4.7 && < 5
84+ , text
85+ , network-uri
86+ , giphy-api
87+ , aeson
88+ , basic-prelude
89+ , bytestring
90+ , containers
91+ , directory
92+ , hspec
93+ , lens
94+ default-language: Haskell2010
test/golden-test-cases/giphy-api.nix.goldennew file+24
@@ -0,0 +1,24 @@
1+{ mkDerivation, aeson, base, basic-prelude, bytestring, containers
2+, directory, hspec, http-api-data, http-client, http-client-tls
3+, lens, microlens, microlens-th, mtl, network-uri, servant
4+, servant-client, stdenv, text, transformers
5+}:
6+mkDerivation {
7+ pname = "giphy-api";
8+ version = "0.5.2.0";
9+ sha256 = "deadbeef";
10+ isLibrary = true;
11+ isExecutable = true;
12+ libraryHaskellDepends = [
13+ aeson base containers http-api-data http-client http-client-tls
14+ microlens microlens-th mtl network-uri servant servant-client text
15+ transformers
16+ ];
17+ testHaskellDepends = [
18+ aeson base basic-prelude bytestring containers directory hspec lens
19+ network-uri text
20+ ];
21+ homepage = "http://github.com/passy/giphy-api#readme";
22+ description = "Giphy HTTP API wrapper and CLI search tool";
23+ license = stdenv.lib.licenses.bsd3;
24+}
test/golden-test-cases/github.cabalnew file+202
@@ -0,0 +1,202 @@
1+name: github
2+version: 0.18
3+synopsis: Access to the GitHub API, v3.
4+description:
5+ The GitHub API provides programmatic access to the full
6+ GitHub Web site, from Issues to Gists to repos down to the underlying git data
7+ like references and trees. This library wraps all of that, exposing a basic but
8+ Haskell-friendly set of functions and data structures.
9+ .
10+ For supported endpoints see "GitHub" module.
11+ .
12+ > import qualified GitHub as GH
13+ >
14+ > main :: IO ()
15+ > main = do
16+ > possibleUser <- GH.executeRequest' $ GH.userInfoR "phadej"
17+ > print possibleUser
18+ .
19+ For more of an overview please see the README: <https://github.com/phadej/github/blob/master/README.md>
20+license: BSD3
21+license-file: LICENSE
22+author: Mike Burns, John Wiegley, Oleg Grenrus
23+maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
24+homepage: https://github.com/phadej/github
25+copyright: Copyright 2012-2013 Mike Burns, Copyright 2013-2015 John Wiegley, Copyright 2016 Oleg Grenrus
26+category: Network
27+build-type: Simple
28+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1
29+cabal-version: >=1.10
30+extra-source-files:
31+ README.md,
32+ CHANGELOG.md,
33+ fixtures/issue-search.json,
34+ fixtures/list-teams.json,
35+ fixtures/members-list.json,
36+ fixtures/pull-request-opened.json,
37+ fixtures/pull-request-review-requested.json,
38+ fixtures/user-organizations.json,
39+ fixtures/user.json
40+
41+flag aeson-compat
42+ description: Whether to use aeson-compat or aeson-extra
43+ default: True
44+ manual: False
45+
46+source-repository head
47+ type: git
48+ location: git://github.com/phadej/github.git
49+
50+Library
51+ default-language: Haskell2010
52+ ghc-options: -Wall
53+ hs-source-dirs: src
54+ default-extensions:
55+ DataKinds
56+ DeriveDataTypeable
57+ DeriveGeneric
58+ OverloadedStrings
59+ ScopedTypeVariables
60+ other-extensions:
61+ CPP
62+ FlexibleContexts
63+ FlexibleInstances
64+ GADTs
65+ KindSignatures
66+ StandaloneDeriving
67+ exposed-modules:
68+ GitHub
69+ GitHub.Internal.Prelude
70+ GitHub.Auth
71+ GitHub.Data
72+ GitHub.Data.Activities
73+ GitHub.Data.Comments
74+ GitHub.Data.Content
75+ GitHub.Data.Definitions
76+ GitHub.Data.DeployKeys
77+ GitHub.Data.Events
78+ GitHub.Data.Gists
79+ GitHub.Data.GitData
80+ GitHub.Data.Id
81+ GitHub.Data.Issues
82+ GitHub.Data.Milestone
83+ GitHub.Data.Name
84+ GitHub.Data.Options
85+ GitHub.Data.PullRequests
86+ GitHub.Data.Releases
87+ GitHub.Data.Repos
88+ GitHub.Data.Request
89+ GitHub.Data.Reviews
90+ GitHub.Data.Search
91+ GitHub.Data.Statuses
92+ GitHub.Data.Teams
93+ GitHub.Data.URL
94+ GitHub.Data.Webhooks
95+ GitHub.Data.Webhooks.Validate
96+ GitHub.Endpoints.Activity.Events
97+ GitHub.Endpoints.Activity.Starring
98+ GitHub.Endpoints.Activity.Watching
99+ GitHub.Endpoints.Gists
100+ GitHub.Endpoints.Gists.Comments
101+ GitHub.Endpoints.GitData.Blobs
102+ GitHub.Endpoints.GitData.Commits
103+ GitHub.Endpoints.GitData.References
104+ GitHub.Endpoints.GitData.Trees
105+ GitHub.Endpoints.Issues
106+ GitHub.Endpoints.Issues.Comments
107+ GitHub.Endpoints.Issues.Events
108+ GitHub.Endpoints.Issues.Labels
109+ GitHub.Endpoints.Issues.Milestones
110+ GitHub.Endpoints.Organizations
111+ GitHub.Endpoints.Organizations.Members
112+ GitHub.Endpoints.Organizations.Teams
113+ GitHub.Endpoints.PullRequests
114+ GitHub.Endpoints.PullRequests.Reviews
115+ GitHub.Endpoints.PullRequests.Comments
116+ GitHub.Endpoints.Repos
117+ GitHub.Endpoints.Repos.Collaborators
118+ GitHub.Endpoints.Repos.Comments
119+ GitHub.Endpoints.Repos.Commits
120+ GitHub.Endpoints.Repos.Contents
121+ GitHub.Endpoints.Repos.DeployKeys
122+ GitHub.Endpoints.Repos.Forks
123+ GitHub.Endpoints.Repos.Releases
124+ GitHub.Endpoints.Repos.Statuses
125+ GitHub.Endpoints.Repos.Webhooks
126+ GitHub.Endpoints.Search
127+ GitHub.Endpoints.Users
128+ GitHub.Endpoints.Users.Followers
129+ GitHub.Request
130+
131+ -- Packages needed in order to build this package.
132+ build-depends: base >=4.7 && <4.11,
133+ aeson >=0.7.0.6 && <1.3,
134+ base-compat >=0.9.1 && <0.10,
135+ base16-bytestring >=0.1.1.6 && <0.2,
136+ binary >=0.7.1.0 && <0.10,
137+ binary-orphans >=0.1.0.0 && <0.2,
138+ byteable >=0.1.1 && <0.2,
139+ bytestring >=0.10.4.0 && <0.11,
140+ containers >=0.5.5.1 && <0.6,
141+ cryptohash >=0.11 && <0.12,
142+ deepseq >=1.3.0.2 && <1.5,
143+ deepseq-generics >=0.1.1.2 && <0.3,
144+ exceptions >=0.8.0.2 && <0.9,
145+ hashable >=1.2.3.3 && <1.3,
146+ http-client >=0.4.8.1 && <0.6,
147+ http-client-tls >=0.2.2 && <0.4,
148+ http-link-header >=1.0.1 && <1.1,
149+ http-types >=0.8.6 && <0.11,
150+ iso8601-time >=0.1.4 && <0.2,
151+ mtl >=2.1.3.1 && <2.3,
152+ network-uri >=2.6.0.3 && <2.7,
153+ semigroups >=0.16.2.2 && <0.19,
154+ text >=1.2.0.6 && <1.3,
155+ time >=1.4 && <1.9,
156+ transformers >=0.3.0.0 && <0.6,
157+ transformers-compat >=0.4.0.3 && <0.6,
158+ unordered-containers >=0.2 && <0.3,
159+ vector >=0.10.12.3 && <0.13,
160+ vector-instances >=3.3.0.1 && <3.5,
161+
162+ tls >=1.3.5
163+
164+ if flag(aeson-compat)
165+ build-depends: aeson-compat >=0.3.0.0 && <0.4
166+ else
167+ build-depends: aeson-extra >=0.2.0.0 && <0.3
168+
169+test-suite github-test
170+ default-language: Haskell2010
171+ type: exitcode-stdio-1.0
172+ hs-source-dirs: spec
173+ other-extensions:
174+ TemplateHaskell
175+ other-modules:
176+ GitHub.ActivitySpec
177+ GitHub.CommitsSpec
178+ GitHub.OrganizationsSpec
179+ GitHub.IssuesSpec
180+ GitHub.PullRequestsSpec
181+ GitHub.PullRequestReviewsSpec
182+ GitHub.ReleasesSpec
183+ GitHub.ReposSpec
184+ GitHub.SearchSpec
185+ GitHub.UsersSpec
186+ GitHub.EventsSpec
187+ main-is: Spec.hs
188+ ghc-options: -Wall
189+ build-tool-depends: hspec-discover:hspec-discover
190+ build-depends: base,
191+ base-compat,
192+ bytestring,
193+ github,
194+ vector,
195+ unordered-containers,
196+ file-embed,
197+ hspec
198+ if flag(aeson-compat)
199+ build-depends: aeson-compat
200+ else
201+ build-depends: aeson-extra
202+
test/golden-test-cases/github.nix.goldennew file+30
@@ -0,0 +1,30 @@
1+{ mkDerivation, aeson, aeson-compat, base, base-compat
2+, base16-bytestring, binary, binary-orphans, byteable, bytestring
3+, containers, cryptohash, deepseq, deepseq-generics, exceptions
4+, file-embed, hashable, hspec, hspec-discover, http-client
5+, http-client-tls, http-link-header, http-types, iso8601-time, mtl
6+, network-uri, semigroups, stdenv, text, time, tls, transformers
7+, transformers-compat, unordered-containers, vector
8+, vector-instances
9+}:
10+mkDerivation {
11+ pname = "github";
12+ version = "0.18";
13+ sha256 = "deadbeef";
14+ libraryHaskellDepends = [
15+ aeson aeson-compat base base-compat base16-bytestring binary
16+ binary-orphans byteable bytestring containers cryptohash deepseq
17+ deepseq-generics exceptions hashable http-client http-client-tls
18+ http-link-header http-types iso8601-time mtl network-uri semigroups
19+ text time tls transformers transformers-compat unordered-containers
20+ vector vector-instances
21+ ];
22+ testHaskellDepends = [
23+ aeson-compat base base-compat bytestring file-embed hspec
24+ unordered-containers vector
25+ ];
26+ testToolDepends = [ hspec-discover ];
27+ homepage = "https://github.com/phadej/github";
28+ description = "Access to the GitHub API, v3";
29+ license = stdenv.lib.licenses.bsd3;
30+}
test/golden-test-cases/gl.cabalnew file+917
@@ -0,0 +1,917 @@
1+name: gl
2+version: 0.8.0
3+synopsis: Complete OpenGL raw bindings
4+description: Complete OpenGL raw bindings
5+license: BSD3
6+license-file: LICENSE
7+author: Edward A. Kmett, Gabríel Arthúr Pétursson, Sven Panne
8+maintainer: ekmett@gmail.com
9+copyright: Copyright © 2014-2017 Edward A. Kmett,
10+ Copyright © 2014-2017 Gabríel Arthúr Pétursson,
11+ Copyright © 2013 Sven Panne
12+category: Graphics
13+build-type: Custom
14+cabal-version: >=1.24
15+extra-source-files:
16+ gl.xml man.txt extensions.txt
17+ CHANGELOG.markdown README.markdown TODO.markdown
18+ Generator.hs Module.hs Parser.hs Registry.hs Utils.hs
19+
20+source-repository head
21+ type: git
22+ location: https://github.com/ekmett/gl
23+
24+custom-setup
25+ setup-depends:
26+ base == 4.*
27+ , Cabal >= 1.24
28+ , directory >= 1.2 && <= 1.4
29+ , filepath >= 1.3 && < 1.5
30+ , hxt == 9.3.*
31+ , transformers >= 0.2 && < 0.6
32+ , containers == 0.5.*
33+
34+flag UseNativeWindowsLibraries
35+ description:
36+ When compiling under Windows, use the native libraries instead of e.g. the
37+ ones coming with Cygwin.
38+
39+flag UseGlXGetProcAddress
40+ description:
41+ Use glXGetProcAddress instead of dlsym on non-Windows/-Darwin platforms.
42+
43+library
44+ hs-source-dirs: src
45+ c-sources: cbits/gl.c
46+ ghc-options: -Wall -O2
47+
48+ build-depends:
49+ base == 4.*
50+ , containers == 0.5.*
51+ , fixed >= 0.2.1 && < 0.3
52+ , half >= 0.2 && < 0.3
53+ , transformers >= 0.2 && < 0.6
54+
55+ -- for Setup.hs
56+ build-depends:
57+
58+ default-language: Haskell2010
59+
60+ if impl(ghc >= 8)
61+ ghc-options: -Wno-missing-pattern-synonym-signatures
62+
63+ if os(windows) && flag(UseNativeWindowsLibraries)
64+ if arch(i386)
65+ cpp-options: "-DCALLCONV=stdcall"
66+ else
67+ cpp-options: "-DCALLCONV=ccall"
68+ cc-options: "-DUSE_WGLGETPROCADDRESS"
69+ extra-libraries: opengl32
70+ else
71+ cpp-options: "-DCALLCONV=ccall"
72+ if !os(darwin) && !os(ios) && flag(UseGlXGetProcAddress)
73+ cc-options: "-DUSE_GLXGETPROCADDRESS"
74+ else
75+ cc-options: "-DUSE_DLSYM"
76+ if os(darwin)
77+ frameworks: OpenGL
78+ else
79+ if os(ios)
80+ frameworks: OpenGLES
81+ else
82+ extra-libraries: GL
83+
84+ exposed-modules:
85+ Graphics.GL
86+ Graphics.GL.Compatibility32
87+ Graphics.GL.Compatibility33
88+ Graphics.GL.Compatibility40
89+ Graphics.GL.Compatibility41
90+ Graphics.GL.Compatibility42
91+ Graphics.GL.Compatibility43
92+ Graphics.GL.Compatibility44
93+ Graphics.GL.Compatibility45
94+ Graphics.GL.Core32
95+ Graphics.GL.Core33
96+ Graphics.GL.Core40
97+ Graphics.GL.Core41
98+ Graphics.GL.Core42
99+ Graphics.GL.Core43
100+ Graphics.GL.Core44
101+ Graphics.GL.Core45
102+ Graphics.GL.Embedded20
103+ Graphics.GL.Embedded30
104+ Graphics.GL.Embedded31
105+ Graphics.GL.Embedded32
106+ Graphics.GL.EmbeddedCommon11
107+ Graphics.GL.EmbeddedLite11
108+ Graphics.GL.Ext
109+ Graphics.GL.Ext.AMD
110+ Graphics.GL.Ext.AMD.BlendMinmaxFactor
111+ Graphics.GL.Ext.AMD.Compressed3DCTexture
112+ Graphics.GL.Ext.AMD.CompressedATCTexture
113+ Graphics.GL.Ext.AMD.ConservativeDepth
114+ Graphics.GL.Ext.AMD.DebugOutput
115+ Graphics.GL.Ext.AMD.DepthClampSeparate
116+ Graphics.GL.Ext.AMD.DrawBuffersBlend
117+ Graphics.GL.Ext.AMD.FramebufferSamplePositions
118+ Graphics.GL.Ext.AMD.GcnShader
119+ Graphics.GL.Ext.AMD.GpuShaderHalfFloat
120+ Graphics.GL.Ext.AMD.GpuShaderInt64
121+ Graphics.GL.Ext.AMD.InterleavedElements
122+ Graphics.GL.Ext.AMD.MultiDrawIndirect
123+ Graphics.GL.Ext.AMD.NameGenDelete
124+ Graphics.GL.Ext.AMD.OcclusionQueryEvent
125+ Graphics.GL.Ext.AMD.PerformanceMonitor
126+ Graphics.GL.Ext.AMD.PinnedMemory
127+ Graphics.GL.Ext.AMD.ProgramBinaryZ400
128+ Graphics.GL.Ext.AMD.QueryBufferObject
129+ Graphics.GL.Ext.AMD.SamplePositions
130+ Graphics.GL.Ext.AMD.SeamlessCubemapPerTexture
131+ Graphics.GL.Ext.AMD.ShaderAtomicCounterOps
132+ Graphics.GL.Ext.AMD.ShaderBallot
133+ Graphics.GL.Ext.AMD.ShaderExplicitVertexParameter
134+ Graphics.GL.Ext.AMD.ShaderStencilExport
135+ Graphics.GL.Ext.AMD.ShaderTrinaryMinmax
136+ Graphics.GL.Ext.AMD.SparseTexture
137+ Graphics.GL.Ext.AMD.StencilOperationExtended
138+ Graphics.GL.Ext.AMD.TextureTexture4
139+ Graphics.GL.Ext.AMD.TransformFeedback3LinesTriangles
140+ Graphics.GL.Ext.AMD.TransformFeedback4
141+ Graphics.GL.Ext.AMD.VertexShaderLayer
142+ Graphics.GL.Ext.AMD.VertexShaderTessellator
143+ Graphics.GL.Ext.AMD.VertexShaderViewportIndex
144+ Graphics.GL.Ext.ANDROID
145+ Graphics.GL.Ext.ANDROID.ExtensionPackEs31a
146+ Graphics.GL.Ext.ANGLE
147+ Graphics.GL.Ext.ANGLE.DepthTexture
148+ Graphics.GL.Ext.ANGLE.FramebufferBlit
149+ Graphics.GL.Ext.ANGLE.FramebufferMultisample
150+ Graphics.GL.Ext.ANGLE.InstancedArrays
151+ Graphics.GL.Ext.ANGLE.PackReverseRowOrder
152+ Graphics.GL.Ext.ANGLE.ProgramBinary
153+ Graphics.GL.Ext.ANGLE.TextureCompressionDxt3
154+ Graphics.GL.Ext.ANGLE.TextureCompressionDxt5
155+ Graphics.GL.Ext.ANGLE.TextureUsage
156+ Graphics.GL.Ext.ANGLE.TranslatedShaderSource
157+ Graphics.GL.Ext.APPLE
158+ Graphics.GL.Ext.APPLE.AuxDepthStencil
159+ Graphics.GL.Ext.APPLE.ClientStorage
160+ Graphics.GL.Ext.APPLE.ClipDistance
161+ Graphics.GL.Ext.APPLE.ColorBufferPackedFloat
162+ Graphics.GL.Ext.APPLE.CopyTextureLevels
163+ Graphics.GL.Ext.APPLE.ElementArray
164+ Graphics.GL.Ext.APPLE.Fence
165+ Graphics.GL.Ext.APPLE.FloatPixels
166+ Graphics.GL.Ext.APPLE.FlushBufferRange
167+ Graphics.GL.Ext.APPLE.FramebufferMultisample
168+ Graphics.GL.Ext.APPLE.ObjectPurgeable
169+ Graphics.GL.Ext.APPLE.Rgb422
170+ Graphics.GL.Ext.APPLE.RowBytes
171+ Graphics.GL.Ext.APPLE.SpecularVector
172+ Graphics.GL.Ext.APPLE.Sync
173+ Graphics.GL.Ext.APPLE.Texture2DLimitedNpot
174+ Graphics.GL.Ext.APPLE.TextureFormatBGRA8888
175+ Graphics.GL.Ext.APPLE.TextureMaxLevel
176+ Graphics.GL.Ext.APPLE.TexturePackedFloat
177+ Graphics.GL.Ext.APPLE.TextureRange
178+ Graphics.GL.Ext.APPLE.TransformHint
179+ Graphics.GL.Ext.APPLE.VertexArrayObject
180+ Graphics.GL.Ext.APPLE.VertexArrayRange
181+ Graphics.GL.Ext.APPLE.VertexProgramEvaluators
182+ Graphics.GL.Ext.APPLE.Ycbcr422
183+ Graphics.GL.Ext.ARB
184+ Graphics.GL.Ext.ARB.ArraysOfArrays
185+ Graphics.GL.Ext.ARB.BaseInstance
186+ Graphics.GL.Ext.ARB.BindlessTexture
187+ Graphics.GL.Ext.ARB.BlendFuncExtended
188+ Graphics.GL.Ext.ARB.BufferStorage
189+ Graphics.GL.Ext.ARB.ClEvent
190+ Graphics.GL.Ext.ARB.ClearBufferObject
191+ Graphics.GL.Ext.ARB.ClearTexture
192+ Graphics.GL.Ext.ARB.ClipControl
193+ Graphics.GL.Ext.ARB.ColorBufferFloat
194+ Graphics.GL.Ext.ARB.Compatibility
195+ Graphics.GL.Ext.ARB.CompressedTexturePixelStorage
196+ Graphics.GL.Ext.ARB.ComputeShader
197+ Graphics.GL.Ext.ARB.ComputeVariableGroupSize
198+ Graphics.GL.Ext.ARB.ConditionalRenderInverted
199+ Graphics.GL.Ext.ARB.ConservativeDepth
200+ Graphics.GL.Ext.ARB.CopyBuffer
201+ Graphics.GL.Ext.ARB.CopyImage
202+ Graphics.GL.Ext.ARB.CullDistance
203+ Graphics.GL.Ext.ARB.DebugOutput
204+ Graphics.GL.Ext.ARB.DepthBufferFloat
205+ Graphics.GL.Ext.ARB.DepthClamp
206+ Graphics.GL.Ext.ARB.DepthTexture
207+ Graphics.GL.Ext.ARB.DerivativeControl
208+ Graphics.GL.Ext.ARB.DirectStateAccess
209+ Graphics.GL.Ext.ARB.DrawBuffers
210+ Graphics.GL.Ext.ARB.DrawBuffersBlend
211+ Graphics.GL.Ext.ARB.DrawElementsBaseVertex
212+ Graphics.GL.Ext.ARB.DrawIndirect
213+ Graphics.GL.Ext.ARB.DrawInstanced
214+ Graphics.GL.Ext.ARB.ES2Compatibility
215+ Graphics.GL.Ext.ARB.ES31Compatibility
216+ Graphics.GL.Ext.ARB.ES32Compatibility
217+ Graphics.GL.Ext.ARB.ES3Compatibility
218+ Graphics.GL.Ext.ARB.EnhancedLayouts
219+ Graphics.GL.Ext.ARB.ExplicitAttribLocation
220+ Graphics.GL.Ext.ARB.ExplicitUniformLocation
221+ Graphics.GL.Ext.ARB.FragmentCoordConventions
222+ Graphics.GL.Ext.ARB.FragmentLayerViewport
223+ Graphics.GL.Ext.ARB.FragmentProgram
224+ Graphics.GL.Ext.ARB.FragmentProgramShadow
225+ Graphics.GL.Ext.ARB.FragmentShader
226+ Graphics.GL.Ext.ARB.FragmentShaderInterlock
227+ Graphics.GL.Ext.ARB.FramebufferNoAttachments
228+ Graphics.GL.Ext.ARB.FramebufferObject
229+ Graphics.GL.Ext.ARB.FramebufferSRGB
230+ Graphics.GL.Ext.ARB.GeometryShader4
231+ Graphics.GL.Ext.ARB.GetProgramBinary
232+ Graphics.GL.Ext.ARB.GetTextureSubImage
233+ Graphics.GL.Ext.ARB.GpuShader5
234+ Graphics.GL.Ext.ARB.GpuShaderFp64
235+ Graphics.GL.Ext.ARB.GpuShaderInt64
236+ Graphics.GL.Ext.ARB.HalfFloatPixel
237+ Graphics.GL.Ext.ARB.HalfFloatVertex
238+ Graphics.GL.Ext.ARB.Imaging
239+ Graphics.GL.Ext.ARB.IndirectParameters
240+ Graphics.GL.Ext.ARB.InstancedArrays
241+ Graphics.GL.Ext.ARB.InternalformatQuery
242+ Graphics.GL.Ext.ARB.InternalformatQuery2
243+ Graphics.GL.Ext.ARB.InvalidateSubdata
244+ Graphics.GL.Ext.ARB.MapBufferAlignment
245+ Graphics.GL.Ext.ARB.MapBufferRange
246+ Graphics.GL.Ext.ARB.MatrixPalette
247+ Graphics.GL.Ext.ARB.MultiBind
248+ Graphics.GL.Ext.ARB.MultiDrawIndirect
249+ Graphics.GL.Ext.ARB.Multisample
250+ Graphics.GL.Ext.ARB.Multitexture
251+ Graphics.GL.Ext.ARB.OcclusionQuery
252+ Graphics.GL.Ext.ARB.OcclusionQuery2
253+ Graphics.GL.Ext.ARB.ParallelShaderCompile
254+ Graphics.GL.Ext.ARB.PipelineStatisticsQuery
255+ Graphics.GL.Ext.ARB.PixelBufferObject
256+ Graphics.GL.Ext.ARB.PointParameters
257+ Graphics.GL.Ext.ARB.PointSprite
258+ Graphics.GL.Ext.ARB.PostDepthCoverage
259+ Graphics.GL.Ext.ARB.ProgramInterfaceQuery
260+ Graphics.GL.Ext.ARB.ProvokingVertex
261+ Graphics.GL.Ext.ARB.QueryBufferObject
262+ Graphics.GL.Ext.ARB.RobustBufferAccessBehavior
263+ Graphics.GL.Ext.ARB.Robustness
264+ Graphics.GL.Ext.ARB.RobustnessIsolation
265+ Graphics.GL.Ext.ARB.SampleLocations
266+ Graphics.GL.Ext.ARB.SampleShading
267+ Graphics.GL.Ext.ARB.SamplerObjects
268+ Graphics.GL.Ext.ARB.SeamlessCubeMap
269+ Graphics.GL.Ext.ARB.SeamlessCubemapPerTexture
270+ Graphics.GL.Ext.ARB.SeparateShaderObjects
271+ Graphics.GL.Ext.ARB.ShaderAtomicCounters
272+ Graphics.GL.Ext.ARB.ShaderAtomicCounterOps
273+ Graphics.GL.Ext.ARB.ShaderBallot
274+ Graphics.GL.Ext.ARB.ShaderBitEncoding
275+ Graphics.GL.Ext.ARB.ShaderClock
276+ Graphics.GL.Ext.ARB.ShaderDrawParameters
277+ Graphics.GL.Ext.ARB.ShaderGroupVote
278+ Graphics.GL.Ext.ARB.ShaderImageLoadStore
279+ Graphics.GL.Ext.ARB.ShaderImageSize
280+ Graphics.GL.Ext.ARB.ShaderObjects
281+ Graphics.GL.Ext.ARB.ShaderPrecision
282+ Graphics.GL.Ext.ARB.ShaderStencilExport
283+ Graphics.GL.Ext.ARB.ShaderStorageBufferObject
284+ Graphics.GL.Ext.ARB.ShaderSubroutine
285+ Graphics.GL.Ext.ARB.ShaderTextureImageSamples
286+ Graphics.GL.Ext.ARB.ShaderTextureLod
287+ Graphics.GL.Ext.ARB.ShaderViewportLayerArray
288+ Graphics.GL.Ext.ARB.ShadingLanguage100
289+ Graphics.GL.Ext.ARB.ShadingLanguage420pack
290+ Graphics.GL.Ext.ARB.ShadingLanguageInclude
291+ Graphics.GL.Ext.ARB.ShadingLanguagePacking
292+ Graphics.GL.Ext.ARB.Shadow
293+ Graphics.GL.Ext.ARB.ShadowAmbient
294+ Graphics.GL.Ext.ARB.SparseBuffer
295+ Graphics.GL.Ext.ARB.SparseTexture
296+ Graphics.GL.Ext.ARB.SparseTexture2
297+ Graphics.GL.Ext.ARB.SparseTextureClamp
298+ Graphics.GL.Ext.ARB.StencilTexturing
299+ Graphics.GL.Ext.ARB.Sync
300+ Graphics.GL.Ext.ARB.TessellationShader
301+ Graphics.GL.Ext.ARB.TextureBarrier
302+ Graphics.GL.Ext.ARB.TextureBorderClamp
303+ Graphics.GL.Ext.ARB.TextureBufferObject
304+ Graphics.GL.Ext.ARB.TextureBufferObjectRgb32
305+ Graphics.GL.Ext.ARB.TextureBufferRange
306+ Graphics.GL.Ext.ARB.TextureCompression
307+ Graphics.GL.Ext.ARB.TextureCompressionBptc
308+ Graphics.GL.Ext.ARB.TextureCompressionRgtc
309+ Graphics.GL.Ext.ARB.TextureCubeMap
310+ Graphics.GL.Ext.ARB.TextureCubeMapArray
311+ Graphics.GL.Ext.ARB.TextureEnvAdd
312+ Graphics.GL.Ext.ARB.TextureEnvCombine
313+ Graphics.GL.Ext.ARB.TextureEnvCrossbar
314+ Graphics.GL.Ext.ARB.TextureEnvDot3
315+ Graphics.GL.Ext.ARB.TextureFilterMinmax
316+ Graphics.GL.Ext.ARB.TextureFloat
317+ Graphics.GL.Ext.ARB.TextureGather
318+ Graphics.GL.Ext.ARB.TextureMirrorClampToEdge
319+ Graphics.GL.Ext.ARB.TextureMirroredRepeat
320+ Graphics.GL.Ext.ARB.TextureMultisample
321+ Graphics.GL.Ext.ARB.TextureNonPowerOfTwo
322+ Graphics.GL.Ext.ARB.TextureQueryLevels
323+ Graphics.GL.Ext.ARB.TextureQueryLod
324+ Graphics.GL.Ext.ARB.TextureRectangle
325+ Graphics.GL.Ext.ARB.TextureRg
326+ Graphics.GL.Ext.ARB.TextureRgb10A2ui
327+ Graphics.GL.Ext.ARB.TextureStencil8
328+ Graphics.GL.Ext.ARB.TextureStorage
329+ Graphics.GL.Ext.ARB.TextureStorageMultisample
330+ Graphics.GL.Ext.ARB.TextureSwizzle
331+ Graphics.GL.Ext.ARB.TextureView
332+ Graphics.GL.Ext.ARB.TimerQuery
333+ Graphics.GL.Ext.ARB.TransformFeedback2
334+ Graphics.GL.Ext.ARB.TransformFeedback3
335+ Graphics.GL.Ext.ARB.TransformFeedbackInstanced
336+ Graphics.GL.Ext.ARB.TransformFeedbackOverflowQuery
337+ Graphics.GL.Ext.ARB.TransposeMatrix
338+ Graphics.GL.Ext.ARB.UniformBufferObject
339+ Graphics.GL.Ext.ARB.VertexArrayBgra
340+ Graphics.GL.Ext.ARB.VertexArrayObject
341+ Graphics.GL.Ext.ARB.VertexAttrib64bit
342+ Graphics.GL.Ext.ARB.VertexAttribBinding
343+ Graphics.GL.Ext.ARB.VertexBlend
344+ Graphics.GL.Ext.ARB.VertexBufferObject
345+ Graphics.GL.Ext.ARB.VertexProgram
346+ Graphics.GL.Ext.ARB.VertexShader
347+ Graphics.GL.Ext.ARB.VertexType10f11f11fRev
348+ Graphics.GL.Ext.ARB.VertexType2101010Rev
349+ Graphics.GL.Ext.ARB.ViewportArray
350+ Graphics.GL.Ext.ARB.WindowPos
351+ Graphics.GL.Ext.ARM
352+ Graphics.GL.Ext.ARM.MaliProgramBinary
353+ Graphics.GL.Ext.ARM.MaliShaderBinary
354+ Graphics.GL.Ext.ARM.Rgba8
355+ Graphics.GL.Ext.ARM.ShaderFramebufferFetch
356+ Graphics.GL.Ext.ARM.ShaderFramebufferFetchDepthStencil
357+ Graphics.GL.Ext.ATI
358+ Graphics.GL.Ext.ATI.DrawBuffers
359+ Graphics.GL.Ext.ATI.ElementArray
360+ Graphics.GL.Ext.ATI.EnvmapBumpmap
361+ Graphics.GL.Ext.ATI.FragmentShader
362+ Graphics.GL.Ext.ATI.MapObjectBuffer
363+ Graphics.GL.Ext.ATI.Meminfo
364+ Graphics.GL.Ext.ATI.PixelFormatFloat
365+ Graphics.GL.Ext.ATI.PnTriangles
366+ Graphics.GL.Ext.ATI.SeparateStencil
367+ Graphics.GL.Ext.ATI.TextFragmentShader
368+ Graphics.GL.Ext.ATI.TextureEnvCombine3
369+ Graphics.GL.Ext.ATI.TextureFloat
370+ Graphics.GL.Ext.ATI.TextureMirrorOnce
371+ Graphics.GL.Ext.ATI.VertexArrayObject
372+ Graphics.GL.Ext.ATI.VertexAttribArrayObject
373+ Graphics.GL.Ext.ATI.VertexStreams
374+ Graphics.GL.Ext.DMP
375+ Graphics.GL.Ext.DMP.ProgramBinary
376+ Graphics.GL.Ext.DMP.ShaderBinary
377+ Graphics.GL.Ext.EXT
378+ Graphics.GL.Ext.EXT.Abgr
379+ Graphics.GL.Ext.EXT.BaseInstance
380+ Graphics.GL.Ext.EXT.Bgra
381+ Graphics.GL.Ext.EXT.BindableUniform
382+ Graphics.GL.Ext.EXT.BlendColor
383+ Graphics.GL.Ext.EXT.BlendEquationSeparate
384+ Graphics.GL.Ext.EXT.BlendFuncExtended
385+ Graphics.GL.Ext.EXT.BlendFuncSeparate
386+ Graphics.GL.Ext.EXT.BlendLogicOp
387+ Graphics.GL.Ext.EXT.BlendMinmax
388+ Graphics.GL.Ext.EXT.BlendSubtract
389+ Graphics.GL.Ext.EXT.BufferStorage
390+ Graphics.GL.Ext.EXT.ClearTexture
391+ Graphics.GL.Ext.EXT.ClipCullDistance
392+ Graphics.GL.Ext.EXT.ClipVolumeHint
393+ Graphics.GL.Ext.EXT.Cmyka
394+ Graphics.GL.Ext.EXT.ColorBufferFloat
395+ Graphics.GL.Ext.EXT.ColorBufferHalfFloat
396+ Graphics.GL.Ext.EXT.ColorSubtable
397+ Graphics.GL.Ext.EXT.CompiledVertexArray
398+ Graphics.GL.Ext.EXT.ConservativeDepth
399+ Graphics.GL.Ext.EXT.Convolution
400+ Graphics.GL.Ext.EXT.CoordinateFrame
401+ Graphics.GL.Ext.EXT.CopyImage
402+ Graphics.GL.Ext.EXT.CopyTexture
403+ Graphics.GL.Ext.EXT.CullVertex
404+ Graphics.GL.Ext.EXT.DebugLabel
405+ Graphics.GL.Ext.EXT.DebugMarker
406+ Graphics.GL.Ext.EXT.DepthBoundsTest
407+ Graphics.GL.Ext.EXT.DirectStateAccess
408+ Graphics.GL.Ext.EXT.DiscardFramebuffer
409+ Graphics.GL.Ext.EXT.DisjointTimerQuery
410+ Graphics.GL.Ext.EXT.DrawBuffers
411+ Graphics.GL.Ext.EXT.DrawBuffers2
412+ Graphics.GL.Ext.EXT.DrawBuffersIndexed
413+ Graphics.GL.Ext.EXT.DrawElementsBaseVertex
414+ Graphics.GL.Ext.EXT.DrawInstanced
415+ Graphics.GL.Ext.EXT.DrawRangeElements
416+ Graphics.GL.Ext.EXT.DrawTransformFeedback
417+ Graphics.GL.Ext.EXT.FogCoord
418+ Graphics.GL.Ext.EXT.FourTwoTwoPixels
419+ Graphics.GL.Ext.EXT.FloatBlend
420+ Graphics.GL.Ext.EXT.FramebufferBlit
421+ Graphics.GL.Ext.EXT.FramebufferMultisample
422+ Graphics.GL.Ext.EXT.FramebufferMultisampleBlitScaled
423+ Graphics.GL.Ext.EXT.FramebufferObject
424+ Graphics.GL.Ext.EXT.FramebufferSRGB
425+ Graphics.GL.Ext.EXT.GeometryPointSize
426+ Graphics.GL.Ext.EXT.GeometryShader
427+ Graphics.GL.Ext.EXT.GeometryShader4
428+ Graphics.GL.Ext.EXT.GpuProgramParameters
429+ Graphics.GL.Ext.EXT.GpuShader4
430+ Graphics.GL.Ext.EXT.GpuShader5
431+ Graphics.GL.Ext.EXT.Histogram
432+ Graphics.GL.Ext.EXT.IndexArrayFormats
433+ Graphics.GL.Ext.EXT.IndexFunc
434+ Graphics.GL.Ext.EXT.IndexMaterial
435+ Graphics.GL.Ext.EXT.IndexTexture
436+ Graphics.GL.Ext.EXT.InstancedArrays
437+ Graphics.GL.Ext.EXT.LightTexture
438+ Graphics.GL.Ext.EXT.MapBufferRange
439+ Graphics.GL.Ext.EXT.MiscAttribute
440+ Graphics.GL.Ext.EXT.MultiDrawArrays
441+ Graphics.GL.Ext.EXT.MultiDrawIndirect
442+ Graphics.GL.Ext.EXT.Multisample
443+ Graphics.GL.Ext.EXT.MultisampleCompatibility
444+ Graphics.GL.Ext.EXT.MultisampledRenderToTexture
445+ Graphics.GL.Ext.EXT.MultiviewDrawBuffers
446+ Graphics.GL.Ext.EXT.OcclusionQueryBoolean
447+ Graphics.GL.Ext.EXT.PackedDepthStencil
448+ Graphics.GL.Ext.EXT.PackedFloat
449+ Graphics.GL.Ext.EXT.PackedPixels
450+ Graphics.GL.Ext.EXT.PalettedTexture
451+ Graphics.GL.Ext.EXT.PixelBufferObject
452+ Graphics.GL.Ext.EXT.PixelTransform
453+ Graphics.GL.Ext.EXT.PixelTransformColorTable
454+ Graphics.GL.Ext.EXT.PointParameters
455+ Graphics.GL.Ext.EXT.PolygonOffset
456+ Graphics.GL.Ext.EXT.PolygonOffsetClamp
457+ Graphics.GL.Ext.EXT.PostDepthCoverage
458+ Graphics.GL.Ext.EXT.PrimitiveBoundingBox
459+ Graphics.GL.Ext.EXT.ProtectedTextures
460+ Graphics.GL.Ext.EXT.ProvokingVertex
461+ Graphics.GL.Ext.EXT.PvrtcSRGB
462+ Graphics.GL.Ext.EXT.RasterMultisample
463+ Graphics.GL.Ext.EXT.ReadFormatBgra
464+ Graphics.GL.Ext.EXT.RenderSnorm
465+ Graphics.GL.Ext.EXT.RescaleNormal
466+ Graphics.GL.Ext.EXT.Robustness
467+ Graphics.GL.Ext.EXT.SRGB
468+ Graphics.GL.Ext.EXT.SRGBWriteControl
469+ Graphics.GL.Ext.EXT.SecondaryColor
470+ Graphics.GL.Ext.EXT.SeparateShaderObjects
471+ Graphics.GL.Ext.EXT.SeparateSpecularColor
472+ Graphics.GL.Ext.EXT.ShaderFramebufferFetch
473+ Graphics.GL.Ext.EXT.ShaderGroupVote
474+ Graphics.GL.Ext.EXT.ShaderImageLoadFormatted
475+ Graphics.GL.Ext.EXT.ShaderImageLoadStore
476+ Graphics.GL.Ext.EXT.ShaderImplicitConversions
477+ Graphics.GL.Ext.EXT.ShaderIntegerMix
478+ Graphics.GL.Ext.EXT.ShaderIoBlocks
479+ Graphics.GL.Ext.EXT.ShaderNonConstantGlobalInitializers
480+ Graphics.GL.Ext.EXT.ShaderPixelLocalStorage
481+ Graphics.GL.Ext.EXT.ShaderPixelLocalStorage2
482+ Graphics.GL.Ext.EXT.ShaderTextureLod
483+ Graphics.GL.Ext.EXT.ShadowFuncs
484+ Graphics.GL.Ext.EXT.ShadowSamplers
485+ Graphics.GL.Ext.EXT.SharedTexturePalette
486+ Graphics.GL.Ext.EXT.SparseTexture
487+ Graphics.GL.Ext.EXT.SparseTexture2
488+ Graphics.GL.Ext.EXT.StencilClearTag
489+ Graphics.GL.Ext.EXT.StencilTwoSide
490+ Graphics.GL.Ext.EXT.StencilWrap
491+ Graphics.GL.Ext.EXT.Subtexture
492+ Graphics.GL.Ext.EXT.TessellationPointSize
493+ Graphics.GL.Ext.EXT.TessellationShader
494+ Graphics.GL.Ext.EXT.Texture
495+ Graphics.GL.Ext.EXT.Texture3D
496+ Graphics.GL.Ext.EXT.TextureArray
497+ Graphics.GL.Ext.EXT.TextureBorderClamp
498+ Graphics.GL.Ext.EXT.TextureBuffer
499+ Graphics.GL.Ext.EXT.TextureBufferObject
500+ Graphics.GL.Ext.EXT.TextureCompressionDxt1
501+ Graphics.GL.Ext.EXT.TextureCompressionLatc
502+ Graphics.GL.Ext.EXT.TextureCompressionRgtc
503+ Graphics.GL.Ext.EXT.TextureCompressionS3tc
504+ Graphics.GL.Ext.EXT.TextureCubeMap
505+ Graphics.GL.Ext.EXT.TextureCubeMapArray
506+ Graphics.GL.Ext.EXT.TextureEnvAdd
507+ Graphics.GL.Ext.EXT.TextureEnvCombine
508+ Graphics.GL.Ext.EXT.TextureEnvDot3
509+ Graphics.GL.Ext.EXT.TextureFilterAnisotropic
510+ Graphics.GL.Ext.EXT.TextureFilterMinmax
511+ Graphics.GL.Ext.EXT.TextureFormatBGRA8888
512+ Graphics.GL.Ext.EXT.TextureInteger
513+ Graphics.GL.Ext.EXT.TextureLodBias
514+ Graphics.GL.Ext.EXT.TextureMirrorClamp
515+ Graphics.GL.Ext.EXT.TextureNorm16
516+ Graphics.GL.Ext.EXT.TextureObject
517+ Graphics.GL.Ext.EXT.TexturePerturbNormal
518+ Graphics.GL.Ext.EXT.TextureRg
519+ Graphics.GL.Ext.EXT.TextureSRGB
520+ Graphics.GL.Ext.EXT.TextureSRGBDecode
521+ Graphics.GL.Ext.EXT.TextureSRGBR8
522+ Graphics.GL.Ext.EXT.TextureSRGBRG8
523+ Graphics.GL.Ext.EXT.TextureSharedExponent
524+ Graphics.GL.Ext.EXT.TextureSnorm
525+ Graphics.GL.Ext.EXT.TextureStorage
526+ Graphics.GL.Ext.EXT.TextureSwizzle
527+ Graphics.GL.Ext.EXT.TextureType2101010REV
528+ Graphics.GL.Ext.EXT.TextureView
529+ Graphics.GL.Ext.EXT.TimerQuery
530+ Graphics.GL.Ext.EXT.TransformFeedback
531+ Graphics.GL.Ext.EXT.UnpackSubimage
532+ Graphics.GL.Ext.EXT.VertexArray
533+ Graphics.GL.Ext.EXT.VertexArrayBgra
534+ Graphics.GL.Ext.EXT.VertexAttrib64bit
535+ Graphics.GL.Ext.EXT.VertexShader
536+ Graphics.GL.Ext.EXT.VertexWeighting
537+ Graphics.GL.Ext.EXT.WindowRectangles
538+ Graphics.GL.Ext.EXT.X11SyncObject
539+ Graphics.GL.Ext.EXT.YUVTarget
540+ Graphics.GL.Ext.FJ
541+ Graphics.GL.Ext.FJ.ShaderBinaryGCCSO
542+ Graphics.GL.Ext.GREMEDY
543+ Graphics.GL.Ext.GREMEDY.FrameTerminator
544+ Graphics.GL.Ext.GREMEDY.StringMarker
545+ Graphics.GL.Ext.HP
546+ Graphics.GL.Ext.HP.ConvolutionBorderModes
547+ Graphics.GL.Ext.HP.ImageTransform
548+ Graphics.GL.Ext.HP.OcclusionTest
549+ Graphics.GL.Ext.HP.TextureLighting
550+ Graphics.GL.Ext.IBM
551+ Graphics.GL.Ext.IBM.CullVertex
552+ Graphics.GL.Ext.IBM.MultimodeDrawArrays
553+ Graphics.GL.Ext.IBM.RasterposClip
554+ Graphics.GL.Ext.IBM.StaticData
555+ Graphics.GL.Ext.IBM.TextureMirroredRepeat
556+ Graphics.GL.Ext.IBM.VertexArrayLists
557+ Graphics.GL.Ext.IMG
558+ Graphics.GL.Ext.IMG.BindlessTexture
559+ Graphics.GL.Ext.IMG.FramebufferDownsample
560+ Graphics.GL.Ext.IMG.MultisampledRenderToTexture
561+ Graphics.GL.Ext.IMG.ProgramBinary
562+ Graphics.GL.Ext.IMG.ReadFormat
563+ Graphics.GL.Ext.IMG.ShaderBinary
564+ Graphics.GL.Ext.IMG.TextureCompressionPvrtc
565+ Graphics.GL.Ext.IMG.TextureCompressionPvrtc2
566+ Graphics.GL.Ext.IMG.TextureEnvEnhancedFixedFunction
567+ Graphics.GL.Ext.IMG.TextureFilterCubic
568+ Graphics.GL.Ext.IMG.UserClipPlane
569+ Graphics.GL.Ext.INGR
570+ Graphics.GL.Ext.INGR.BlendFuncSeparate
571+ Graphics.GL.Ext.INGR.ColorClamp
572+ Graphics.GL.Ext.INGR.InterlaceRead
573+ Graphics.GL.Ext.INTEL
574+ Graphics.GL.Ext.INTEL.ConservativeRasterization
575+ Graphics.GL.Ext.INTEL.FragmentShaderOrdering
576+ Graphics.GL.Ext.INTEL.FramebufferCMAA
577+ Graphics.GL.Ext.INTEL.MapTexture
578+ Graphics.GL.Ext.INTEL.ParallelArrays
579+ Graphics.GL.Ext.INTEL.PerformanceQuery
580+ Graphics.GL.Ext.KHR
581+ Graphics.GL.Ext.KHR.BlendEquationAdvanced
582+ Graphics.GL.Ext.KHR.BlendEquationAdvancedCoherent
583+ Graphics.GL.Ext.KHR.ContextFlushControl
584+ Graphics.GL.Ext.KHR.Debug
585+ Graphics.GL.Ext.KHR.NoError
586+ Graphics.GL.Ext.KHR.RobustBufferAccessBehavior
587+ Graphics.GL.Ext.KHR.Robustness
588+ Graphics.GL.Ext.KHR.TextureCompressionAstcHdr
589+ Graphics.GL.Ext.KHR.TextureCompressionAstcLdr
590+ Graphics.GL.Ext.KHR.TextureCompressionAstcSliced3d
591+ Graphics.GL.Ext.MESA
592+ Graphics.GL.Ext.MESA.PackInvert
593+ Graphics.GL.Ext.MESA.ResizeBuffers
594+ Graphics.GL.Ext.MESA.WindowPos
595+ Graphics.GL.Ext.MESA.YcbcrTexture
596+ Graphics.GL.Ext.MESAX
597+ Graphics.GL.Ext.MESAX.TextureStack
598+ Graphics.GL.Ext.NV
599+ Graphics.GL.Ext.NV.BindlessMultiDrawIndirect
600+ Graphics.GL.Ext.NV.BindlessMultiDrawIndirectCount
601+ Graphics.GL.Ext.NV.BindlessTexture
602+ Graphics.GL.Ext.NV.BlendEquationAdvanced
603+ Graphics.GL.Ext.NV.BlendEquationAdvancedCoherent
604+ Graphics.GL.Ext.NV.BlendSquare
605+ Graphics.GL.Ext.NV.ClipSpaceWScaling
606+ Graphics.GL.Ext.NV.CommandList
607+ Graphics.GL.Ext.NV.ComputeProgram5
608+ Graphics.GL.Ext.NV.ConditionalRender
609+ Graphics.GL.Ext.NV.ConservativeRaster
610+ Graphics.GL.Ext.NV.ConservativeRasterDilate
611+ Graphics.GL.Ext.NV.ConservativeRasterPreSnapTriangles
612+ Graphics.GL.Ext.NV.CopyBuffer
613+ Graphics.GL.Ext.NV.CopyDepthToColor
614+ Graphics.GL.Ext.NV.CopyImage
615+ Graphics.GL.Ext.NV.CoverageSample
616+ Graphics.GL.Ext.NV.DeepTexture3D
617+ Graphics.GL.Ext.NV.DepthBufferFloat
618+ Graphics.GL.Ext.NV.DepthClamp
619+ Graphics.GL.Ext.NV.DepthNonlinear
620+ Graphics.GL.Ext.NV.DrawBuffers
621+ Graphics.GL.Ext.NV.DrawInstanced
622+ Graphics.GL.Ext.NV.DrawTexture
623+ Graphics.GL.Ext.NV.Evaluators
624+ Graphics.GL.Ext.NV.ExplicitAttribLocation
625+ Graphics.GL.Ext.NV.ExplicitMultisample
626+ Graphics.GL.Ext.NV.FboColorAttachments
627+ Graphics.GL.Ext.NV.Fence
628+ Graphics.GL.Ext.NV.FillRectangle
629+ Graphics.GL.Ext.NV.FloatBuffer
630+ Graphics.GL.Ext.NV.FogDistance
631+ Graphics.GL.Ext.NV.FragmentCoverageToColor
632+ Graphics.GL.Ext.NV.FragmentProgram
633+ Graphics.GL.Ext.NV.FragmentProgram2
634+ Graphics.GL.Ext.NV.FragmentProgram4
635+ Graphics.GL.Ext.NV.FragmentProgramOption
636+ Graphics.GL.Ext.NV.FragmentShaderInterlock
637+ Graphics.GL.Ext.NV.FramebufferBlit
638+ Graphics.GL.Ext.NV.FramebufferMixedSamples
639+ Graphics.GL.Ext.NV.FramebufferMultisample
640+ Graphics.GL.Ext.NV.FramebufferMultisampleCoverage
641+ Graphics.GL.Ext.NV.GenerateMipmapSRGB
642+ Graphics.GL.Ext.NV.GeometryProgram4
643+ Graphics.GL.Ext.NV.GeometryShader4
644+ Graphics.GL.Ext.NV.GeometryShaderPassthrough
645+ Graphics.GL.Ext.NV.GpuProgram4
646+ Graphics.GL.Ext.NV.GpuProgram5
647+ Graphics.GL.Ext.NV.GpuProgram5MemExtended
648+ Graphics.GL.Ext.NV.GpuShader5
649+ Graphics.GL.Ext.NV.HalfFloat
650+ Graphics.GL.Ext.NV.ImageFormats
651+ Graphics.GL.Ext.NV.InstancedArrays
652+ Graphics.GL.Ext.NV.InternalformatSampleQuery
653+ Graphics.GL.Ext.NV.LightMaxExponent
654+ Graphics.GL.Ext.NV.MultisampleCoverage
655+ Graphics.GL.Ext.NV.MultisampleFilterHint
656+ Graphics.GL.Ext.NV.NonSquareMatrices
657+ Graphics.GL.Ext.NV.OcclusionQuery
658+ Graphics.GL.Ext.NV.PackedDepthStencil
659+ Graphics.GL.Ext.NV.ParameterBufferObject
660+ Graphics.GL.Ext.NV.ParameterBufferObject2
661+ Graphics.GL.Ext.NV.PathRendering
662+ Graphics.GL.Ext.NV.PathRenderingSharedEdge
663+ Graphics.GL.Ext.NV.PixelDataRange
664+ Graphics.GL.Ext.NV.PointSprite
665+ Graphics.GL.Ext.NV.PolygonMode
666+ Graphics.GL.Ext.NV.PresentVideo
667+ Graphics.GL.Ext.NV.PrimitiveRestart
668+ Graphics.GL.Ext.NV.ReadBuffer
669+ Graphics.GL.Ext.NV.ReadBufferFront
670+ Graphics.GL.Ext.NV.ReadDepth
671+ Graphics.GL.Ext.NV.ReadDepthStencil
672+ Graphics.GL.Ext.NV.ReadStencil
673+ Graphics.GL.Ext.NV.RegisterCombiners
674+ Graphics.GL.Ext.NV.RegisterCombiners2
675+ Graphics.GL.Ext.NV.RobustnessVideoMemoryPurge
676+ Graphics.GL.Ext.NV.SRGBFormats
677+ Graphics.GL.Ext.NV.SampleLocations
678+ Graphics.GL.Ext.NV.SampleMaskOverrideCoverage
679+ Graphics.GL.Ext.NV.ShaderAtomicCounters
680+ Graphics.GL.Ext.NV.ShaderAtomicFloat
681+ Graphics.GL.Ext.NV.ShaderAtomicFloat64
682+ Graphics.GL.Ext.NV.ShaderAtomicFp16Vector
683+ Graphics.GL.Ext.NV.ShaderAtomicInt64
684+ Graphics.GL.Ext.NV.ShaderBufferLoad
685+ Graphics.GL.Ext.NV.ShaderBufferStore
686+ Graphics.GL.Ext.NV.ShaderNoperspectiveInterpolation
687+ Graphics.GL.Ext.NV.ShaderStorageBufferObject
688+ Graphics.GL.Ext.NV.ShaderThreadGroup
689+ Graphics.GL.Ext.NV.ShaderThreadShuffle
690+ Graphics.GL.Ext.NV.ShadowSamplersArray
691+ Graphics.GL.Ext.NV.ShadowSamplersCube
692+ Graphics.GL.Ext.NV.StereoViewRendering
693+ Graphics.GL.Ext.NV.TessellationProgram5
694+ Graphics.GL.Ext.NV.TexgenEmboss
695+ Graphics.GL.Ext.NV.TexgenReflection
696+ Graphics.GL.Ext.NV.TextureBarrier
697+ Graphics.GL.Ext.NV.TextureBorderClamp
698+ Graphics.GL.Ext.NV.TextureCompressionS3tcUpdate
699+ Graphics.GL.Ext.NV.TextureCompressionVtc
700+ Graphics.GL.Ext.NV.TextureEnvCombine4
701+ Graphics.GL.Ext.NV.TextureExpandNormal
702+ Graphics.GL.Ext.NV.TextureMultisample
703+ Graphics.GL.Ext.NV.TextureNpot2DMipmap
704+ Graphics.GL.Ext.NV.TextureRectangle
705+ Graphics.GL.Ext.NV.TextureShader
706+ Graphics.GL.Ext.NV.TextureShader2
707+ Graphics.GL.Ext.NV.TextureShader3
708+ Graphics.GL.Ext.NV.TransformFeedback
709+ Graphics.GL.Ext.NV.TransformFeedback2
710+ Graphics.GL.Ext.NV.UniformBufferUnifiedMemory
711+ Graphics.GL.Ext.NV.VdpauInterop
712+ Graphics.GL.Ext.NV.VertexArrayRange
713+ Graphics.GL.Ext.NV.VertexArrayRange2
714+ Graphics.GL.Ext.NV.VertexAttribInteger64bit
715+ Graphics.GL.Ext.NV.VertexBufferUnifiedMemory
716+ Graphics.GL.Ext.NV.VertexProgram
717+ Graphics.GL.Ext.NV.VertexProgram11
718+ Graphics.GL.Ext.NV.VertexProgram2
719+ Graphics.GL.Ext.NV.VertexProgram2Option
720+ Graphics.GL.Ext.NV.VertexProgram3
721+ Graphics.GL.Ext.NV.VertexProgram4
722+ Graphics.GL.Ext.NV.VideoCapture
723+ Graphics.GL.Ext.NV.ViewportArray
724+ Graphics.GL.Ext.NV.ViewportArray2
725+ Graphics.GL.Ext.NV.ViewportSwizzle
726+ Graphics.GL.Ext.NVX
727+ Graphics.GL.Ext.NVX.ConditionalRender
728+ Graphics.GL.Ext.NVX.GpuMemoryInfo
729+ Graphics.GL.Ext.OES
730+ Graphics.GL.Ext.OES.BlendEquationSeparate
731+ Graphics.GL.Ext.OES.BlendFuncSeparate
732+ Graphics.GL.Ext.OES.BlendSubtract
733+ Graphics.GL.Ext.OES.ByteCoordinates
734+ Graphics.GL.Ext.OES.CompressedETC1RGB8SubTexture
735+ Graphics.GL.Ext.OES.CompressedETC1RGB8Texture
736+ Graphics.GL.Ext.OES.CompressedPalettedTexture
737+ Graphics.GL.Ext.OES.CopyImage
738+ Graphics.GL.Ext.OES.Depth24
739+ Graphics.GL.Ext.OES.Depth32
740+ Graphics.GL.Ext.OES.DepthTexture
741+ Graphics.GL.Ext.OES.DrawBuffersIndexed
742+ Graphics.GL.Ext.OES.DrawElementsBaseVertex
743+ Graphics.GL.Ext.OES.DrawTexture
744+ Graphics.GL.Ext.OES.EGLImage
745+ Graphics.GL.Ext.OES.EGLImageExternal
746+ Graphics.GL.Ext.OES.EGLImageExternalEssl3
747+ Graphics.GL.Ext.OES.ElementIndexUint
748+ Graphics.GL.Ext.OES.ExtendedMatrixPalette
749+ Graphics.GL.Ext.OES.FboRenderMipmap
750+ Graphics.GL.Ext.OES.FixedPoint
751+ Graphics.GL.Ext.OES.FragmentPrecisionHigh
752+ Graphics.GL.Ext.OES.FramebufferObject
753+ Graphics.GL.Ext.OES.GeometryPointSize
754+ Graphics.GL.Ext.OES.GeometryShader
755+ Graphics.GL.Ext.OES.GetProgramBinary
756+ Graphics.GL.Ext.OES.GpuShader5
757+ Graphics.GL.Ext.OES.Mapbuffer
758+ Graphics.GL.Ext.OES.MatrixGet
759+ Graphics.GL.Ext.OES.MatrixPalette
760+ Graphics.GL.Ext.OES.PackedDepthStencil
761+ Graphics.GL.Ext.OES.PointSizeArray
762+ Graphics.GL.Ext.OES.PointSprite
763+ Graphics.GL.Ext.OES.PrimitiveBoundingBox
764+ Graphics.GL.Ext.OES.QueryMatrix
765+ Graphics.GL.Ext.OES.ReadFormat
766+ Graphics.GL.Ext.OES.RequiredInternalformat
767+ Graphics.GL.Ext.OES.Rgb8Rgba8
768+ Graphics.GL.Ext.OES.SampleShading
769+ Graphics.GL.Ext.OES.SampleVariables
770+ Graphics.GL.Ext.OES.ShaderImageAtomic
771+ Graphics.GL.Ext.OES.ShaderIoBlocks
772+ Graphics.GL.Ext.OES.ShaderMultisampleInterpolation
773+ Graphics.GL.Ext.OES.SinglePrecision
774+ Graphics.GL.Ext.OES.StandardDerivatives
775+ Graphics.GL.Ext.OES.Stencil1
776+ Graphics.GL.Ext.OES.Stencil4
777+ Graphics.GL.Ext.OES.Stencil8
778+ Graphics.GL.Ext.OES.StencilWrap
779+ Graphics.GL.Ext.OES.SurfacelessContext
780+ Graphics.GL.Ext.OES.TessellationPointSize
781+ Graphics.GL.Ext.OES.TessellationShader
782+ Graphics.GL.Ext.OES.Texture3D
783+ Graphics.GL.Ext.OES.TextureBorderClamp
784+ Graphics.GL.Ext.OES.TextureBuffer
785+ Graphics.GL.Ext.OES.TextureCompressionAstc
786+ Graphics.GL.Ext.OES.TextureCubeMap
787+ Graphics.GL.Ext.OES.TextureCubeMapArray
788+ Graphics.GL.Ext.OES.TextureEnvCrossbar
789+ Graphics.GL.Ext.OES.TextureFloat
790+ Graphics.GL.Ext.OES.TextureFloatLinear
791+ Graphics.GL.Ext.OES.TextureHalfFloat
792+ Graphics.GL.Ext.OES.TextureHalfFloatLinear
793+ Graphics.GL.Ext.OES.TextureMirroredRepeat
794+ Graphics.GL.Ext.OES.TextureNpot
795+ Graphics.GL.Ext.OES.TextureStencil8
796+ Graphics.GL.Ext.OES.TextureStorageMultisample2dArray
797+ Graphics.GL.Ext.OES.TextureView
798+ Graphics.GL.Ext.OES.VertexArrayObject
799+ Graphics.GL.Ext.OES.VertexHalfFloat
800+ Graphics.GL.Ext.OES.VertexType1010102
801+ Graphics.GL.Ext.OES.ViewportArray
802+ Graphics.GL.Ext.OML
803+ Graphics.GL.Ext.OML.Interlace
804+ Graphics.GL.Ext.OML.Resample
805+ Graphics.GL.Ext.OML.Subsample
806+ Graphics.GL.Ext.OVR
807+ Graphics.GL.Ext.OVR.Multiview
808+ Graphics.GL.Ext.OVR.Multiview2
809+ Graphics.GL.Ext.OVR.MultiviewMultisampledRenderToTexture
810+ Graphics.GL.Ext.PGI
811+ Graphics.GL.Ext.PGI.MiscHints
812+ Graphics.GL.Ext.PGI.VertexHints
813+ Graphics.GL.Ext.QCOM
814+ Graphics.GL.Ext.QCOM.AlphaTest
815+ Graphics.GL.Ext.QCOM.BinningControl
816+ Graphics.GL.Ext.QCOM.DriverControl
817+ Graphics.GL.Ext.QCOM.ExtendedGet
818+ Graphics.GL.Ext.QCOM.ExtendedGet2
819+ Graphics.GL.Ext.QCOM.PerfmonGlobalMode
820+ Graphics.GL.Ext.QCOM.TiledRendering
821+ Graphics.GL.Ext.QCOM.WriteonlyRendering
822+ Graphics.GL.Ext.REND
823+ Graphics.GL.Ext.REND.ScreenCoordinates
824+ Graphics.GL.Ext.S3
825+ Graphics.GL.Ext.S3.S3tc
826+ Graphics.GL.Ext.SGI
827+ Graphics.GL.Ext.SGI.ColorMatrix
828+ Graphics.GL.Ext.SGI.ColorTable
829+ Graphics.GL.Ext.SGI.TextureColorTable
830+ Graphics.GL.Ext.SGIS
831+ Graphics.GL.Ext.SGIS.DetailTexture
832+ Graphics.GL.Ext.SGIS.FogFunction
833+ Graphics.GL.Ext.SGIS.GenerateMipmap
834+ Graphics.GL.Ext.SGIS.Multisample
835+ Graphics.GL.Ext.SGIS.PixelTexture
836+ Graphics.GL.Ext.SGIS.PointLineTexgen
837+ Graphics.GL.Ext.SGIS.PointParameters
838+ Graphics.GL.Ext.SGIS.SharpenTexture
839+ Graphics.GL.Ext.SGIS.Texture4D
840+ Graphics.GL.Ext.SGIS.TextureBorderClamp
841+ Graphics.GL.Ext.SGIS.TextureColorMask
842+ Graphics.GL.Ext.SGIS.TextureEdgeClamp
843+ Graphics.GL.Ext.SGIS.TextureFilter4
844+ Graphics.GL.Ext.SGIS.TextureLod
845+ Graphics.GL.Ext.SGIS.TextureSelect
846+ Graphics.GL.Ext.SGIX
847+ Graphics.GL.Ext.SGIX.Async
848+ Graphics.GL.Ext.SGIX.AsyncHistogram
849+ Graphics.GL.Ext.SGIX.AsyncPixel
850+ Graphics.GL.Ext.SGIX.BlendAlphaMinmax
851+ Graphics.GL.Ext.SGIX.CalligraphicFragment
852+ Graphics.GL.Ext.SGIX.Clipmap
853+ Graphics.GL.Ext.SGIX.ConvolutionAccuracy
854+ Graphics.GL.Ext.SGIX.DepthPassInstrument
855+ Graphics.GL.Ext.SGIX.DepthTexture
856+ Graphics.GL.Ext.SGIX.FlushRaster
857+ Graphics.GL.Ext.SGIX.FogOffset
858+ Graphics.GL.Ext.SGIX.FragmentLighting
859+ Graphics.GL.Ext.SGIX.Framezoom
860+ Graphics.GL.Ext.SGIX.IglooInterface
861+ Graphics.GL.Ext.SGIX.Instruments
862+ Graphics.GL.Ext.SGIX.Interlace
863+ Graphics.GL.Ext.SGIX.IrInstrument1
864+ Graphics.GL.Ext.SGIX.ListPriority
865+ Graphics.GL.Ext.SGIX.PixelTexture
866+ Graphics.GL.Ext.SGIX.PixelTiles
867+ Graphics.GL.Ext.SGIX.PolynomialFfd
868+ Graphics.GL.Ext.SGIX.ReferencePlane
869+ Graphics.GL.Ext.SGIX.Resample
870+ Graphics.GL.Ext.SGIX.ScalebiasHint
871+ Graphics.GL.Ext.SGIX.Shadow
872+ Graphics.GL.Ext.SGIX.ShadowAmbient
873+ Graphics.GL.Ext.SGIX.Sprite
874+ Graphics.GL.Ext.SGIX.Subsample
875+ Graphics.GL.Ext.SGIX.TagSampleBuffer
876+ Graphics.GL.Ext.SGIX.TextureAddEnv
877+ Graphics.GL.Ext.SGIX.TextureCoordinateClamp
878+ Graphics.GL.Ext.SGIX.TextureLodBias
879+ Graphics.GL.Ext.SGIX.TextureMultiBuffer
880+ Graphics.GL.Ext.SGIX.TextureScaleBias
881+ Graphics.GL.Ext.SGIX.VertexPreclip
882+ Graphics.GL.Ext.SGIX.Ycrcb
883+ Graphics.GL.Ext.SGIX.YcrcbSubsample
884+ Graphics.GL.Ext.SGIX.Ycrcba
885+ Graphics.GL.Ext.SUN
886+ Graphics.GL.Ext.SUN.ConvolutionBorderModes
887+ Graphics.GL.Ext.SUN.GlobalAlpha
888+ Graphics.GL.Ext.SUN.MeshArray
889+ Graphics.GL.Ext.SUN.SliceAccum
890+ Graphics.GL.Ext.SUN.TriangleList
891+ Graphics.GL.Ext.SUN.Vertex
892+ Graphics.GL.Ext.SUNX
893+ Graphics.GL.Ext.SUNX.ConstantData
894+ Graphics.GL.Ext.ThreeDFX
895+ Graphics.GL.Ext.ThreeDFX.Multisample
896+ Graphics.GL.Ext.ThreeDFX.Tbuffer
897+ Graphics.GL.Ext.ThreeDFX.TextureCompressionFXT1
898+ Graphics.GL.Ext.VIV
899+ Graphics.GL.Ext.VIV.ShaderBinary
900+ Graphics.GL.Ext.WIN
901+ Graphics.GL.Ext.WIN.PhongShading
902+ Graphics.GL.Ext.WIN.SpecularFog
903+ Graphics.GL.Internal.FFI
904+ Graphics.GL.Internal.Proc
905+ Graphics.GL.Internal.Shared
906+ Graphics.GL.SafetyCritical20
907+ Graphics.GL.Standard10
908+ Graphics.GL.Standard11
909+ Graphics.GL.Standard12
910+ Graphics.GL.Standard13
911+ Graphics.GL.Standard14
912+ Graphics.GL.Standard15
913+ Graphics.GL.Standard20
914+ Graphics.GL.Standard21
915+ Graphics.GL.Standard30
916+ Graphics.GL.Standard31
917+ Graphics.GL.Types
test/golden-test-cases/gl.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, base, Cabal, containers, directory, filepath, fixed
2+, half, hxt, libGL, stdenv, transformers
3+}:
4+mkDerivation {
5+ pname = "gl";
6+ version = "0.8.0";
7+ sha256 = "deadbeef";
8+ setupHaskellDepends = [
9+ base Cabal containers directory filepath hxt transformers
10+ ];
11+ libraryHaskellDepends = [
12+ base containers fixed half transformers
13+ ];
14+ librarySystemDepends = [ libGL ];
15+ description = "Complete OpenGL raw bindings";
16+ license = stdenv.lib.licenses.bsd3;
17+}
test/golden-test-cases/gogol-adexchange-buyer.cabalnew file+85
@@ -0,0 +1,85 @@
1+name: gogol-adexchange-buyer
2+version: 0.3.0
3+synopsis: Google Ad Exchange Buyer SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Accesses your bidding-account information, submits creatives for
18+ validation, finds available direct deals, and retrieves performance
19+ reports.
20+ .
21+ /Warning:/ This is an experimental prototype/preview release which is still
22+ under exploratory development and not intended for public use, caveat emptor!
23+ .
24+ This library is compatible with version @v1.4@
25+ of the API.
26+
27+source-repository head
28+ type: git
29+ location: git://github.com/brendanhay/gogol.git
30+
31+library
32+ default-language: Haskell2010
33+ hs-source-dirs: src gen
34+
35+ ghc-options: -Wall
36+
37+ exposed-modules:
38+ Network.Google.AdExchangeBuyer
39+ , Network.Google.AdExchangeBuyer.Types
40+ , Network.Google.Resource.AdExchangeBuyer.Accounts.Get
41+ , Network.Google.Resource.AdExchangeBuyer.Accounts.List
42+ , Network.Google.Resource.AdExchangeBuyer.Accounts.Patch
43+ , Network.Google.Resource.AdExchangeBuyer.Accounts.Update
44+ , Network.Google.Resource.AdExchangeBuyer.BillingInfo.Get
45+ , Network.Google.Resource.AdExchangeBuyer.BillingInfo.List
46+ , Network.Google.Resource.AdExchangeBuyer.Budget.Get
47+ , Network.Google.Resource.AdExchangeBuyer.Budget.Patch
48+ , Network.Google.Resource.AdExchangeBuyer.Budget.Update
49+ , Network.Google.Resource.AdExchangeBuyer.Creatives.AddDeal
50+ , Network.Google.Resource.AdExchangeBuyer.Creatives.Get
51+ , Network.Google.Resource.AdExchangeBuyer.Creatives.Insert
52+ , Network.Google.Resource.AdExchangeBuyer.Creatives.List
53+ , Network.Google.Resource.AdExchangeBuyer.Creatives.ListDeals
54+ , Network.Google.Resource.AdExchangeBuyer.Creatives.RemoveDeal
55+ , Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Delete
56+ , Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Insert
57+ , Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.List
58+ , Network.Google.Resource.AdExchangeBuyer.MarketplaceDeals.Update
59+ , Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.Insert
60+ , Network.Google.Resource.AdExchangeBuyer.MarketplaceNotes.List
61+ , Network.Google.Resource.AdExchangeBuyer.Marketplaceprivateauction.Updateproposal
62+ , Network.Google.Resource.AdExchangeBuyer.PerformanceReport.List
63+ , Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Delete
64+ , Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Get
65+ , Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Insert
66+ , Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.List
67+ , Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Patch
68+ , Network.Google.Resource.AdExchangeBuyer.PretargetingConfig.Update
69+ , Network.Google.Resource.AdExchangeBuyer.Products.Get
70+ , Network.Google.Resource.AdExchangeBuyer.Products.Search
71+ , Network.Google.Resource.AdExchangeBuyer.Proposals.Get
72+ , Network.Google.Resource.AdExchangeBuyer.Proposals.Insert
73+ , Network.Google.Resource.AdExchangeBuyer.Proposals.Patch
74+ , Network.Google.Resource.AdExchangeBuyer.Proposals.Search
75+ , Network.Google.Resource.AdExchangeBuyer.Proposals.Setupcomplete
76+ , Network.Google.Resource.AdExchangeBuyer.Proposals.Update
77+ , Network.Google.Resource.AdExchangeBuyer.PubproFiles.List
78+
79+ other-modules:
80+ Network.Google.AdExchangeBuyer.Types.Product
81+ , Network.Google.AdExchangeBuyer.Types.Sum
82+
83+ build-depends:
84+ gogol-core == 0.3.0.*
85+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-adexchange-buyer.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-adexchange-buyer";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Ad Exchange Buyer SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-admin-emailmigration.cabalnew file+46
@@ -0,0 +1,46 @@
1+name: gogol-admin-emailmigration
2+version: 0.3.0
3+synopsis: Google Email Migration API v2 SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Email Migration API lets you migrate emails of users to Google backends.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @email_migration_v2@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.EmailMigration
37+ , Network.Google.EmailMigration.Types
38+ , Network.Google.Resource.EmailMigration.Mail.Insert
39+
40+ other-modules:
41+ Network.Google.EmailMigration.Types.Product
42+ , Network.Google.EmailMigration.Types.Sum
43+
44+ build-depends:
45+ gogol-core == 0.3.0.*
46+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-admin-emailmigration.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-admin-emailmigration";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Email Migration API v2 SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-affiliates.cabalnew file+55
@@ -0,0 +1,55 @@
1+name: gogol-affiliates
2+version: 0.3.0
3+synopsis: Google Affiliate Network SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Lets you have programmatic access to your Google Affiliate Network data.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v1beta1@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.Affiliates
37+ , Network.Google.Affiliates.Types
38+ , Network.Google.Resource.GAN.Advertisers.Get
39+ , Network.Google.Resource.GAN.Advertisers.List
40+ , Network.Google.Resource.GAN.CcOffers.List
41+ , Network.Google.Resource.GAN.Events.List
42+ , Network.Google.Resource.GAN.Links.Get
43+ , Network.Google.Resource.GAN.Links.Insert
44+ , Network.Google.Resource.GAN.Links.List
45+ , Network.Google.Resource.GAN.Publishers.Get
46+ , Network.Google.Resource.GAN.Publishers.List
47+ , Network.Google.Resource.GAN.Reports.Get
48+
49+ other-modules:
50+ Network.Google.Affiliates.Types.Product
51+ , Network.Google.Affiliates.Types.Sum
52+
53+ build-depends:
54+ gogol-core == 0.3.0.*
55+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-affiliates.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-affiliates";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Affiliate Network SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-apps-tasks.cabalnew file+59
@@ -0,0 +1,59 @@
1+name: gogol-apps-tasks
2+version: 0.3.0
3+synopsis: Google Tasks SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Lets you manage your tasks and task lists.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v1@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.AppsTasks
37+ , Network.Google.AppsTasks.Types
38+ , Network.Google.Resource.Tasks.TaskLists.Delete
39+ , Network.Google.Resource.Tasks.TaskLists.Get
40+ , Network.Google.Resource.Tasks.TaskLists.Insert
41+ , Network.Google.Resource.Tasks.TaskLists.List
42+ , Network.Google.Resource.Tasks.TaskLists.Patch
43+ , Network.Google.Resource.Tasks.TaskLists.Update
44+ , Network.Google.Resource.Tasks.Tasks.Clear
45+ , Network.Google.Resource.Tasks.Tasks.Delete
46+ , Network.Google.Resource.Tasks.Tasks.Get
47+ , Network.Google.Resource.Tasks.Tasks.Insert
48+ , Network.Google.Resource.Tasks.Tasks.List
49+ , Network.Google.Resource.Tasks.Tasks.Move
50+ , Network.Google.Resource.Tasks.Tasks.Patch
51+ , Network.Google.Resource.Tasks.Tasks.Update
52+
53+ other-modules:
54+ Network.Google.AppsTasks.Types.Product
55+ , Network.Google.AppsTasks.Types.Sum
56+
57+ build-depends:
58+ gogol-core == 0.3.0.*
59+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-apps-tasks.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-apps-tasks";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Tasks SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-appstate.cabalnew file+50
@@ -0,0 +1,50 @@
1+name: gogol-appstate
2+version: 0.3.0
3+synopsis: Google App State SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ The Google App State API.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v1@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.AppState
37+ , Network.Google.AppState.Types
38+ , Network.Google.Resource.AppState.States.Clear
39+ , Network.Google.Resource.AppState.States.Delete
40+ , Network.Google.Resource.AppState.States.Get
41+ , Network.Google.Resource.AppState.States.List
42+ , Network.Google.Resource.AppState.States.Update
43+
44+ other-modules:
45+ Network.Google.AppState.Types.Product
46+ , Network.Google.AppState.Types.Sum
47+
48+ build-depends:
49+ gogol-core == 0.3.0.*
50+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-appstate.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-appstate";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google App State SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-blogger.cabalnew file+82
@@ -0,0 +1,82 @@
1+name: gogol-blogger
2+version: 0.3.0
3+synopsis: Google Blogger SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ API for access to the data within Blogger.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v3@
23+ of the API.
24+ .
25+ Labels:
26+ .
27+ * Limited Availability
28+
29+source-repository head
30+ type: git
31+ location: git://github.com/brendanhay/gogol.git
32+
33+library
34+ default-language: Haskell2010
35+ hs-source-dirs: src gen
36+
37+ ghc-options: -Wall
38+
39+ exposed-modules:
40+ Network.Google.Blogger
41+ , Network.Google.Blogger.Types
42+ , Network.Google.Resource.Blogger.BlogUserInfos.Get
43+ , Network.Google.Resource.Blogger.Blogs.Get
44+ , Network.Google.Resource.Blogger.Blogs.GetByURL
45+ , Network.Google.Resource.Blogger.Blogs.ListByUser
46+ , Network.Google.Resource.Blogger.Comments.Approve
47+ , Network.Google.Resource.Blogger.Comments.Delete
48+ , Network.Google.Resource.Blogger.Comments.Get
49+ , Network.Google.Resource.Blogger.Comments.List
50+ , Network.Google.Resource.Blogger.Comments.ListByBlog
51+ , Network.Google.Resource.Blogger.Comments.MarkAsSpam
52+ , Network.Google.Resource.Blogger.Comments.RemoveContent
53+ , Network.Google.Resource.Blogger.PageViews.Get
54+ , Network.Google.Resource.Blogger.Pages.Delete
55+ , Network.Google.Resource.Blogger.Pages.Get
56+ , Network.Google.Resource.Blogger.Pages.Insert
57+ , Network.Google.Resource.Blogger.Pages.List
58+ , Network.Google.Resource.Blogger.Pages.Patch
59+ , Network.Google.Resource.Blogger.Pages.Publish
60+ , Network.Google.Resource.Blogger.Pages.Revert
61+ , Network.Google.Resource.Blogger.Pages.Update
62+ , Network.Google.Resource.Blogger.PostUserInfos.Get
63+ , Network.Google.Resource.Blogger.PostUserInfos.List
64+ , Network.Google.Resource.Blogger.Posts.Delete
65+ , Network.Google.Resource.Blogger.Posts.Get
66+ , Network.Google.Resource.Blogger.Posts.GetByPath
67+ , Network.Google.Resource.Blogger.Posts.Insert
68+ , Network.Google.Resource.Blogger.Posts.List
69+ , Network.Google.Resource.Blogger.Posts.Patch
70+ , Network.Google.Resource.Blogger.Posts.Publish
71+ , Network.Google.Resource.Blogger.Posts.Revert
72+ , Network.Google.Resource.Blogger.Posts.Search
73+ , Network.Google.Resource.Blogger.Posts.Update
74+ , Network.Google.Resource.Blogger.Users.Get
75+
76+ other-modules:
77+ Network.Google.Blogger.Types.Product
78+ , Network.Google.Blogger.Types.Sum
79+
80+ build-depends:
81+ gogol-core == 0.3.0.*
82+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-blogger.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-blogger";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Blogger SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-datastore.cabalnew file+52
@@ -0,0 +1,52 @@
1+name: gogol-datastore
2+version: 0.3.0
3+synopsis: Google Cloud Datastore SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Accesses the schemaless NoSQL database to provide fully managed, robust,
18+ scalable storage for your application.
19+ .
20+ /Warning:/ This is an experimental prototype/preview release which is still
21+ under exploratory development and not intended for public use, caveat emptor!
22+ .
23+ This library is compatible with version @v1@
24+ of the API.
25+
26+source-repository head
27+ type: git
28+ location: git://github.com/brendanhay/gogol.git
29+
30+library
31+ default-language: Haskell2010
32+ hs-source-dirs: src gen
33+
34+ ghc-options: -Wall
35+
36+ exposed-modules:
37+ Network.Google.Datastore
38+ , Network.Google.Datastore.Types
39+ , Network.Google.Resource.Datastore.Projects.AllocateIds
40+ , Network.Google.Resource.Datastore.Projects.BeginTransaction
41+ , Network.Google.Resource.Datastore.Projects.Commit
42+ , Network.Google.Resource.Datastore.Projects.Lookup
43+ , Network.Google.Resource.Datastore.Projects.Rollback
44+ , Network.Google.Resource.Datastore.Projects.RunQuery
45+
46+ other-modules:
47+ Network.Google.Datastore.Types.Product
48+ , Network.Google.Datastore.Types.Sum
49+
50+ build-depends:
51+ gogol-core == 0.3.0.*
52+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-datastore.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-datastore";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Cloud Datastore SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-dfareporting.cabalnew file+249
@@ -0,0 +1,249 @@
1+name: gogol-dfareporting
2+version: 0.3.0
3+synopsis: Google DCM/DFA Reporting And Trafficking SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Manages your DoubleClick Campaign Manager ad campaigns and reports.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v2.7@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.DFAReporting
37+ , Network.Google.DFAReporting.Types
38+ , Network.Google.Resource.DFAReporting.AccountActiveAdSummaries.Get
39+ , Network.Google.Resource.DFAReporting.AccountPermissionGroups.Get
40+ , Network.Google.Resource.DFAReporting.AccountPermissionGroups.List
41+ , Network.Google.Resource.DFAReporting.AccountPermissions.Get
42+ , Network.Google.Resource.DFAReporting.AccountPermissions.List
43+ , Network.Google.Resource.DFAReporting.AccountUserProFiles.Get
44+ , Network.Google.Resource.DFAReporting.AccountUserProFiles.Insert
45+ , Network.Google.Resource.DFAReporting.AccountUserProFiles.List
46+ , Network.Google.Resource.DFAReporting.AccountUserProFiles.Patch
47+ , Network.Google.Resource.DFAReporting.AccountUserProFiles.Update
48+ , Network.Google.Resource.DFAReporting.Accounts.Get
49+ , Network.Google.Resource.DFAReporting.Accounts.List
50+ , Network.Google.Resource.DFAReporting.Accounts.Patch
51+ , Network.Google.Resource.DFAReporting.Accounts.Update
52+ , Network.Google.Resource.DFAReporting.Ads.Get
53+ , Network.Google.Resource.DFAReporting.Ads.Insert
54+ , Network.Google.Resource.DFAReporting.Ads.List
55+ , Network.Google.Resource.DFAReporting.Ads.Patch
56+ , Network.Google.Resource.DFAReporting.Ads.Update
57+ , Network.Google.Resource.DFAReporting.AdvertiserGroups.Delete
58+ , Network.Google.Resource.DFAReporting.AdvertiserGroups.Get
59+ , Network.Google.Resource.DFAReporting.AdvertiserGroups.Insert
60+ , Network.Google.Resource.DFAReporting.AdvertiserGroups.List
61+ , Network.Google.Resource.DFAReporting.AdvertiserGroups.Patch
62+ , Network.Google.Resource.DFAReporting.AdvertiserGroups.Update
63+ , Network.Google.Resource.DFAReporting.Advertisers.Get
64+ , Network.Google.Resource.DFAReporting.Advertisers.Insert
65+ , Network.Google.Resource.DFAReporting.Advertisers.List
66+ , Network.Google.Resource.DFAReporting.Advertisers.Patch
67+ , Network.Google.Resource.DFAReporting.Advertisers.Update
68+ , Network.Google.Resource.DFAReporting.Browsers.List
69+ , Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.Insert
70+ , Network.Google.Resource.DFAReporting.CampaignCreativeAssociations.List
71+ , Network.Google.Resource.DFAReporting.Campaigns.Get
72+ , Network.Google.Resource.DFAReporting.Campaigns.Insert
73+ , Network.Google.Resource.DFAReporting.Campaigns.List
74+ , Network.Google.Resource.DFAReporting.Campaigns.Patch
75+ , Network.Google.Resource.DFAReporting.Campaigns.Update
76+ , Network.Google.Resource.DFAReporting.ChangeLogs.Get
77+ , Network.Google.Resource.DFAReporting.ChangeLogs.List
78+ , Network.Google.Resource.DFAReporting.Cities.List
79+ , Network.Google.Resource.DFAReporting.ConnectionTypes.Get
80+ , Network.Google.Resource.DFAReporting.ConnectionTypes.List
81+ , Network.Google.Resource.DFAReporting.ContentCategories.Delete
82+ , Network.Google.Resource.DFAReporting.ContentCategories.Get
83+ , Network.Google.Resource.DFAReporting.ContentCategories.Insert
84+ , Network.Google.Resource.DFAReporting.ContentCategories.List
85+ , Network.Google.Resource.DFAReporting.ContentCategories.Patch
86+ , Network.Google.Resource.DFAReporting.ContentCategories.Update
87+ , Network.Google.Resource.DFAReporting.Conversions.Batchinsert
88+ , Network.Google.Resource.DFAReporting.Countries.Get
89+ , Network.Google.Resource.DFAReporting.Countries.List
90+ , Network.Google.Resource.DFAReporting.CreativeAssets.Insert
91+ , Network.Google.Resource.DFAReporting.CreativeFieldValues.Delete
92+ , Network.Google.Resource.DFAReporting.CreativeFieldValues.Get
93+ , Network.Google.Resource.DFAReporting.CreativeFieldValues.Insert
94+ , Network.Google.Resource.DFAReporting.CreativeFieldValues.List
95+ , Network.Google.Resource.DFAReporting.CreativeFieldValues.Patch
96+ , Network.Google.Resource.DFAReporting.CreativeFieldValues.Update
97+ , Network.Google.Resource.DFAReporting.CreativeFields.Delete
98+ , Network.Google.Resource.DFAReporting.CreativeFields.Get
99+ , Network.Google.Resource.DFAReporting.CreativeFields.Insert
100+ , Network.Google.Resource.DFAReporting.CreativeFields.List
101+ , Network.Google.Resource.DFAReporting.CreativeFields.Patch
102+ , Network.Google.Resource.DFAReporting.CreativeFields.Update
103+ , Network.Google.Resource.DFAReporting.CreativeGroups.Get
104+ , Network.Google.Resource.DFAReporting.CreativeGroups.Insert
105+ , Network.Google.Resource.DFAReporting.CreativeGroups.List
106+ , Network.Google.Resource.DFAReporting.CreativeGroups.Patch
107+ , Network.Google.Resource.DFAReporting.CreativeGroups.Update
108+ , Network.Google.Resource.DFAReporting.Creatives.Get
109+ , Network.Google.Resource.DFAReporting.Creatives.Insert
110+ , Network.Google.Resource.DFAReporting.Creatives.List
111+ , Network.Google.Resource.DFAReporting.Creatives.Patch
112+ , Network.Google.Resource.DFAReporting.Creatives.Update
113+ , Network.Google.Resource.DFAReporting.DimensionValues.Query
114+ , Network.Google.Resource.DFAReporting.DirectorySiteContacts.Get
115+ , Network.Google.Resource.DFAReporting.DirectorySiteContacts.List
116+ , Network.Google.Resource.DFAReporting.DirectorySites.Get
117+ , Network.Google.Resource.DFAReporting.DirectorySites.Insert
118+ , Network.Google.Resource.DFAReporting.DirectorySites.List
119+ , Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Delete
120+ , Network.Google.Resource.DFAReporting.DynamicTargetingKeys.Insert
121+ , Network.Google.Resource.DFAReporting.DynamicTargetingKeys.List
122+ , Network.Google.Resource.DFAReporting.EventTags.Delete
123+ , Network.Google.Resource.DFAReporting.EventTags.Get
124+ , Network.Google.Resource.DFAReporting.EventTags.Insert
125+ , Network.Google.Resource.DFAReporting.EventTags.List
126+ , Network.Google.Resource.DFAReporting.EventTags.Patch
127+ , Network.Google.Resource.DFAReporting.EventTags.Update
128+ , Network.Google.Resource.DFAReporting.Files.Get
129+ , Network.Google.Resource.DFAReporting.Files.List
130+ , Network.Google.Resource.DFAReporting.FloodlightActivities.Delete
131+ , Network.Google.Resource.DFAReporting.FloodlightActivities.Generatetag
132+ , Network.Google.Resource.DFAReporting.FloodlightActivities.Get
133+ , Network.Google.Resource.DFAReporting.FloodlightActivities.Insert
134+ , Network.Google.Resource.DFAReporting.FloodlightActivities.List
135+ , Network.Google.Resource.DFAReporting.FloodlightActivities.Patch
136+ , Network.Google.Resource.DFAReporting.FloodlightActivities.Update
137+ , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Get
138+ , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Insert
139+ , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.List
140+ , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Patch
141+ , Network.Google.Resource.DFAReporting.FloodlightActivityGroups.Update
142+ , Network.Google.Resource.DFAReporting.FloodlightConfigurations.Get
143+ , Network.Google.Resource.DFAReporting.FloodlightConfigurations.List
144+ , Network.Google.Resource.DFAReporting.FloodlightConfigurations.Patch
145+ , Network.Google.Resource.DFAReporting.FloodlightConfigurations.Update
146+ , Network.Google.Resource.DFAReporting.InventoryItems.Get
147+ , Network.Google.Resource.DFAReporting.InventoryItems.List
148+ , Network.Google.Resource.DFAReporting.LandingPages.Delete
149+ , Network.Google.Resource.DFAReporting.LandingPages.Get
150+ , Network.Google.Resource.DFAReporting.LandingPages.Insert
151+ , Network.Google.Resource.DFAReporting.LandingPages.List
152+ , Network.Google.Resource.DFAReporting.LandingPages.Patch
153+ , Network.Google.Resource.DFAReporting.LandingPages.Update
154+ , Network.Google.Resource.DFAReporting.Languages.List
155+ , Network.Google.Resource.DFAReporting.Metros.List
156+ , Network.Google.Resource.DFAReporting.MobileCarriers.Get
157+ , Network.Google.Resource.DFAReporting.MobileCarriers.List
158+ , Network.Google.Resource.DFAReporting.OperatingSystemVersions.Get
159+ , Network.Google.Resource.DFAReporting.OperatingSystemVersions.List
160+ , Network.Google.Resource.DFAReporting.OperatingSystems.Get
161+ , Network.Google.Resource.DFAReporting.OperatingSystems.List
162+ , Network.Google.Resource.DFAReporting.OrderDocuments.Get
163+ , Network.Google.Resource.DFAReporting.OrderDocuments.List
164+ , Network.Google.Resource.DFAReporting.Orders.Get
165+ , Network.Google.Resource.DFAReporting.Orders.List
166+ , Network.Google.Resource.DFAReporting.PlacementGroups.Get
167+ , Network.Google.Resource.DFAReporting.PlacementGroups.Insert
168+ , Network.Google.Resource.DFAReporting.PlacementGroups.List
169+ , Network.Google.Resource.DFAReporting.PlacementGroups.Patch
170+ , Network.Google.Resource.DFAReporting.PlacementGroups.Update
171+ , Network.Google.Resource.DFAReporting.PlacementStrategies.Delete
172+ , Network.Google.Resource.DFAReporting.PlacementStrategies.Get
173+ , Network.Google.Resource.DFAReporting.PlacementStrategies.Insert
174+ , Network.Google.Resource.DFAReporting.PlacementStrategies.List
175+ , Network.Google.Resource.DFAReporting.PlacementStrategies.Patch
176+ , Network.Google.Resource.DFAReporting.PlacementStrategies.Update
177+ , Network.Google.Resource.DFAReporting.Placements.Generatetags
178+ , Network.Google.Resource.DFAReporting.Placements.Get
179+ , Network.Google.Resource.DFAReporting.Placements.Insert
180+ , Network.Google.Resource.DFAReporting.Placements.List
181+ , Network.Google.Resource.DFAReporting.Placements.Patch
182+ , Network.Google.Resource.DFAReporting.Placements.Update
183+ , Network.Google.Resource.DFAReporting.PlatformTypes.Get
184+ , Network.Google.Resource.DFAReporting.PlatformTypes.List
185+ , Network.Google.Resource.DFAReporting.PostalCodes.Get
186+ , Network.Google.Resource.DFAReporting.PostalCodes.List
187+ , Network.Google.Resource.DFAReporting.Projects.Get
188+ , Network.Google.Resource.DFAReporting.Projects.List
189+ , Network.Google.Resource.DFAReporting.Regions.List
190+ , Network.Google.Resource.DFAReporting.RemarketingListShares.Get
191+ , Network.Google.Resource.DFAReporting.RemarketingListShares.Patch
192+ , Network.Google.Resource.DFAReporting.RemarketingListShares.Update
193+ , Network.Google.Resource.DFAReporting.RemarketingLists.Get
194+ , Network.Google.Resource.DFAReporting.RemarketingLists.Insert
195+ , Network.Google.Resource.DFAReporting.RemarketingLists.List
196+ , Network.Google.Resource.DFAReporting.RemarketingLists.Patch
197+ , Network.Google.Resource.DFAReporting.RemarketingLists.Update
198+ , Network.Google.Resource.DFAReporting.Reports.CompatibleFields.Query
199+ , Network.Google.Resource.DFAReporting.Reports.Delete
200+ , Network.Google.Resource.DFAReporting.Reports.Files.Get
201+ , Network.Google.Resource.DFAReporting.Reports.Files.List
202+ , Network.Google.Resource.DFAReporting.Reports.Get
203+ , Network.Google.Resource.DFAReporting.Reports.Insert
204+ , Network.Google.Resource.DFAReporting.Reports.List
205+ , Network.Google.Resource.DFAReporting.Reports.Patch
206+ , Network.Google.Resource.DFAReporting.Reports.Run
207+ , Network.Google.Resource.DFAReporting.Reports.Update
208+ , Network.Google.Resource.DFAReporting.Sites.Get
209+ , Network.Google.Resource.DFAReporting.Sites.Insert
210+ , Network.Google.Resource.DFAReporting.Sites.List
211+ , Network.Google.Resource.DFAReporting.Sites.Patch
212+ , Network.Google.Resource.DFAReporting.Sites.Update
213+ , Network.Google.Resource.DFAReporting.Sizes.Get
214+ , Network.Google.Resource.DFAReporting.Sizes.Insert
215+ , Network.Google.Resource.DFAReporting.Sizes.List
216+ , Network.Google.Resource.DFAReporting.SubAccounts.Get
217+ , Network.Google.Resource.DFAReporting.SubAccounts.Insert
218+ , Network.Google.Resource.DFAReporting.SubAccounts.List
219+ , Network.Google.Resource.DFAReporting.SubAccounts.Patch
220+ , Network.Google.Resource.DFAReporting.SubAccounts.Update
221+ , Network.Google.Resource.DFAReporting.TargetableRemarketingLists.Get
222+ , Network.Google.Resource.DFAReporting.TargetableRemarketingLists.List
223+ , Network.Google.Resource.DFAReporting.TargetingTemplates.Get
224+ , Network.Google.Resource.DFAReporting.TargetingTemplates.Insert
225+ , Network.Google.Resource.DFAReporting.TargetingTemplates.List
226+ , Network.Google.Resource.DFAReporting.TargetingTemplates.Patch
227+ , Network.Google.Resource.DFAReporting.TargetingTemplates.Update
228+ , Network.Google.Resource.DFAReporting.UserProFiles.Get
229+ , Network.Google.Resource.DFAReporting.UserProFiles.List
230+ , Network.Google.Resource.DFAReporting.UserRolePermissionGroups.Get
231+ , Network.Google.Resource.DFAReporting.UserRolePermissionGroups.List
232+ , Network.Google.Resource.DFAReporting.UserRolePermissions.Get
233+ , Network.Google.Resource.DFAReporting.UserRolePermissions.List
234+ , Network.Google.Resource.DFAReporting.UserRoles.Delete
235+ , Network.Google.Resource.DFAReporting.UserRoles.Get
236+ , Network.Google.Resource.DFAReporting.UserRoles.Insert
237+ , Network.Google.Resource.DFAReporting.UserRoles.List
238+ , Network.Google.Resource.DFAReporting.UserRoles.Patch
239+ , Network.Google.Resource.DFAReporting.UserRoles.Update
240+ , Network.Google.Resource.DFAReporting.VideoFormats.Get
241+ , Network.Google.Resource.DFAReporting.VideoFormats.List
242+
243+ other-modules:
244+ Network.Google.DFAReporting.Types.Product
245+ , Network.Google.DFAReporting.Types.Sum
246+
247+ build-depends:
248+ gogol-core == 0.3.0.*
249+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-dfareporting.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-dfareporting";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google DCM/DFA Reporting And Trafficking SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-firebase-rules.cabalnew file+56
@@ -0,0 +1,56 @@
1+name: gogol-firebase-rules
2+version: 0.3.0
3+synopsis: Google Firebase Rules SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Creates and manages rules that determine when a Firebase Rules-enabled
18+ service should permit a request.
19+ .
20+ /Warning:/ This is an experimental prototype/preview release which is still
21+ under exploratory development and not intended for public use, caveat emptor!
22+ .
23+ This library is compatible with version @v1@
24+ of the API.
25+
26+source-repository head
27+ type: git
28+ location: git://github.com/brendanhay/gogol.git
29+
30+library
31+ default-language: Haskell2010
32+ hs-source-dirs: src gen
33+
34+ ghc-options: -Wall
35+
36+ exposed-modules:
37+ Network.Google.FirebaseRules
38+ , Network.Google.FirebaseRules.Types
39+ , Network.Google.Resource.FirebaseRules.Projects.Releases.Create
40+ , Network.Google.Resource.FirebaseRules.Projects.Releases.Delete
41+ , Network.Google.Resource.FirebaseRules.Projects.Releases.Get
42+ , Network.Google.Resource.FirebaseRules.Projects.Releases.List
43+ , Network.Google.Resource.FirebaseRules.Projects.Releases.Update
44+ , Network.Google.Resource.FirebaseRules.Projects.Rulesets.Create
45+ , Network.Google.Resource.FirebaseRules.Projects.Rulesets.Delete
46+ , Network.Google.Resource.FirebaseRules.Projects.Rulesets.Get
47+ , Network.Google.Resource.FirebaseRules.Projects.Rulesets.List
48+ , Network.Google.Resource.FirebaseRules.Projects.Test
49+
50+ other-modules:
51+ Network.Google.FirebaseRules.Types.Product
52+ , Network.Google.FirebaseRules.Types.Sum
53+
54+ build-depends:
55+ gogol-core == 0.3.0.*
56+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-firebase-rules.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-firebase-rules";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Firebase Rules SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-gmail.cabalnew file+102
@@ -0,0 +1,102 @@
1+name: gogol-gmail
2+version: 0.3.0
3+synopsis: Google Gmail SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Access Gmail mailboxes including sending user email.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v1@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.Gmail
37+ , Network.Google.Gmail.Types
38+ , Network.Google.Resource.Gmail.Users.Drafts.Create
39+ , Network.Google.Resource.Gmail.Users.Drafts.Delete
40+ , Network.Google.Resource.Gmail.Users.Drafts.Get
41+ , Network.Google.Resource.Gmail.Users.Drafts.List
42+ , Network.Google.Resource.Gmail.Users.Drafts.Send
43+ , Network.Google.Resource.Gmail.Users.Drafts.Update
44+ , Network.Google.Resource.Gmail.Users.GetProFile
45+ , Network.Google.Resource.Gmail.Users.History.List
46+ , Network.Google.Resource.Gmail.Users.Labels.Create
47+ , Network.Google.Resource.Gmail.Users.Labels.Delete
48+ , Network.Google.Resource.Gmail.Users.Labels.Get
49+ , Network.Google.Resource.Gmail.Users.Labels.List
50+ , Network.Google.Resource.Gmail.Users.Labels.Patch
51+ , Network.Google.Resource.Gmail.Users.Labels.Update
52+ , Network.Google.Resource.Gmail.Users.Messages.Attachments.Get
53+ , Network.Google.Resource.Gmail.Users.Messages.BatchDelete
54+ , Network.Google.Resource.Gmail.Users.Messages.BatchModify
55+ , Network.Google.Resource.Gmail.Users.Messages.Delete
56+ , Network.Google.Resource.Gmail.Users.Messages.Get
57+ , Network.Google.Resource.Gmail.Users.Messages.Import
58+ , Network.Google.Resource.Gmail.Users.Messages.Insert
59+ , Network.Google.Resource.Gmail.Users.Messages.List
60+ , Network.Google.Resource.Gmail.Users.Messages.Modify
61+ , Network.Google.Resource.Gmail.Users.Messages.Send
62+ , Network.Google.Resource.Gmail.Users.Messages.Trash
63+ , Network.Google.Resource.Gmail.Users.Messages.Untrash
64+ , Network.Google.Resource.Gmail.Users.Settings.Filters.Create
65+ , Network.Google.Resource.Gmail.Users.Settings.Filters.Delete
66+ , Network.Google.Resource.Gmail.Users.Settings.Filters.Get
67+ , Network.Google.Resource.Gmail.Users.Settings.Filters.List
68+ , Network.Google.Resource.Gmail.Users.Settings.ForwardingAddresses.Create
69+ , Network.Google.Resource.Gmail.Users.Settings.ForwardingAddresses.Delete
70+ , Network.Google.Resource.Gmail.Users.Settings.ForwardingAddresses.Get
71+ , Network.Google.Resource.Gmail.Users.Settings.ForwardingAddresses.List
72+ , Network.Google.Resource.Gmail.Users.Settings.GetAutoForwarding
73+ , Network.Google.Resource.Gmail.Users.Settings.GetImap
74+ , Network.Google.Resource.Gmail.Users.Settings.GetPop
75+ , Network.Google.Resource.Gmail.Users.Settings.GetVacation
76+ , Network.Google.Resource.Gmail.Users.Settings.SendAs.Create
77+ , Network.Google.Resource.Gmail.Users.Settings.SendAs.Delete
78+ , Network.Google.Resource.Gmail.Users.Settings.SendAs.Get
79+ , Network.Google.Resource.Gmail.Users.Settings.SendAs.List
80+ , Network.Google.Resource.Gmail.Users.Settings.SendAs.Patch
81+ , Network.Google.Resource.Gmail.Users.Settings.SendAs.Update
82+ , Network.Google.Resource.Gmail.Users.Settings.SendAs.Verify
83+ , Network.Google.Resource.Gmail.Users.Settings.UpdateAutoForwarding
84+ , Network.Google.Resource.Gmail.Users.Settings.UpdateImap
85+ , Network.Google.Resource.Gmail.Users.Settings.UpdatePop
86+ , Network.Google.Resource.Gmail.Users.Settings.UpdateVacation
87+ , Network.Google.Resource.Gmail.Users.Stop
88+ , Network.Google.Resource.Gmail.Users.Threads.Delete
89+ , Network.Google.Resource.Gmail.Users.Threads.Get
90+ , Network.Google.Resource.Gmail.Users.Threads.List
91+ , Network.Google.Resource.Gmail.Users.Threads.Modify
92+ , Network.Google.Resource.Gmail.Users.Threads.Trash
93+ , Network.Google.Resource.Gmail.Users.Threads.Untrash
94+ , Network.Google.Resource.Gmail.Users.Watch
95+
96+ other-modules:
97+ Network.Google.Gmail.Types.Product
98+ , Network.Google.Gmail.Types.Sum
99+
100+ build-depends:
101+ gogol-core == 0.3.0.*
102+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-gmail.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-gmail";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Gmail SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-kgsearch.cabalnew file+46
@@ -0,0 +1,46 @@
1+name: gogol-kgsearch
2+version: 0.3.0
3+synopsis: Google Knowledge Graph Search SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Searches the Google Knowledge Graph for entities.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v1@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.KnowledgeGraphSearch
37+ , Network.Google.KnowledgeGraphSearch.Types
38+ , Network.Google.Resource.Kgsearch.Entities.Search
39+
40+ other-modules:
41+ Network.Google.KnowledgeGraphSearch.Types.Product
42+ , Network.Google.KnowledgeGraphSearch.Types.Sum
43+
44+ build-depends:
45+ gogol-core == 0.3.0.*
46+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-kgsearch.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-kgsearch";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Knowledge Graph Search SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-maps-engine.cabalnew file+123
@@ -0,0 +1,123 @@
1+name: gogol-maps-engine
2+version: 0.3.0
3+synopsis: Google Maps Engine SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ The Google Maps Engine API allows developers to store and query
18+ geospatial vector and raster data.
19+ .
20+ /Warning:/ This is an experimental prototype/preview release which is still
21+ under exploratory development and not intended for public use, caveat emptor!
22+ .
23+ This library is compatible with version @v1@
24+ of the API.
25+
26+source-repository head
27+ type: git
28+ location: git://github.com/brendanhay/gogol.git
29+
30+library
31+ default-language: Haskell2010
32+ hs-source-dirs: src gen
33+
34+ ghc-options: -Wall
35+
36+ exposed-modules:
37+ Network.Google.MapsEngine
38+ , Network.Google.MapsEngine.Types
39+ , Network.Google.Resource.MapsEngine.Assets.Get
40+ , Network.Google.Resource.MapsEngine.Assets.List
41+ , Network.Google.Resource.MapsEngine.Assets.Parents.List
42+ , Network.Google.Resource.MapsEngine.Assets.Permissions.List
43+ , Network.Google.Resource.MapsEngine.Layers.CancelProcessing
44+ , Network.Google.Resource.MapsEngine.Layers.Create
45+ , Network.Google.Resource.MapsEngine.Layers.Delete
46+ , Network.Google.Resource.MapsEngine.Layers.Get
47+ , Network.Google.Resource.MapsEngine.Layers.GetPublished
48+ , Network.Google.Resource.MapsEngine.Layers.List
49+ , Network.Google.Resource.MapsEngine.Layers.ListPublished
50+ , Network.Google.Resource.MapsEngine.Layers.Parents.List
51+ , Network.Google.Resource.MapsEngine.Layers.Patch
52+ , Network.Google.Resource.MapsEngine.Layers.Permissions.BatchDelete
53+ , Network.Google.Resource.MapsEngine.Layers.Permissions.BatchUpdate
54+ , Network.Google.Resource.MapsEngine.Layers.Permissions.List
55+ , Network.Google.Resource.MapsEngine.Layers.Process
56+ , Network.Google.Resource.MapsEngine.Layers.Publish
57+ , Network.Google.Resource.MapsEngine.Layers.UnPublish
58+ , Network.Google.Resource.MapsEngine.Maps.Create
59+ , Network.Google.Resource.MapsEngine.Maps.Delete
60+ , Network.Google.Resource.MapsEngine.Maps.Get
61+ , Network.Google.Resource.MapsEngine.Maps.GetPublished
62+ , Network.Google.Resource.MapsEngine.Maps.List
63+ , Network.Google.Resource.MapsEngine.Maps.ListPublished
64+ , Network.Google.Resource.MapsEngine.Maps.Patch
65+ , Network.Google.Resource.MapsEngine.Maps.Permissions.BatchDelete
66+ , Network.Google.Resource.MapsEngine.Maps.Permissions.BatchUpdate
67+ , Network.Google.Resource.MapsEngine.Maps.Permissions.List
68+ , Network.Google.Resource.MapsEngine.Maps.Publish
69+ , Network.Google.Resource.MapsEngine.Maps.UnPublish
70+ , Network.Google.Resource.MapsEngine.Projects.Icons.Create
71+ , Network.Google.Resource.MapsEngine.Projects.Icons.Get
72+ , Network.Google.Resource.MapsEngine.Projects.Icons.List
73+ , Network.Google.Resource.MapsEngine.Projects.List
74+ , Network.Google.Resource.MapsEngine.RasterCollections.CancelProcessing
75+ , Network.Google.Resource.MapsEngine.RasterCollections.Create
76+ , Network.Google.Resource.MapsEngine.RasterCollections.Delete
77+ , Network.Google.Resource.MapsEngine.RasterCollections.Get
78+ , Network.Google.Resource.MapsEngine.RasterCollections.List
79+ , Network.Google.Resource.MapsEngine.RasterCollections.Parents.List
80+ , Network.Google.Resource.MapsEngine.RasterCollections.Patch
81+ , Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchDelete
82+ , Network.Google.Resource.MapsEngine.RasterCollections.Permissions.BatchUpdate
83+ , Network.Google.Resource.MapsEngine.RasterCollections.Permissions.List
84+ , Network.Google.Resource.MapsEngine.RasterCollections.Process
85+ , Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchDelete
86+ , Network.Google.Resource.MapsEngine.RasterCollections.Rasters.BatchInsert
87+ , Network.Google.Resource.MapsEngine.RasterCollections.Rasters.List
88+ , Network.Google.Resource.MapsEngine.Rasters.Delete
89+ , Network.Google.Resource.MapsEngine.Rasters.Files.Insert
90+ , Network.Google.Resource.MapsEngine.Rasters.Get
91+ , Network.Google.Resource.MapsEngine.Rasters.List
92+ , Network.Google.Resource.MapsEngine.Rasters.Parents.List
93+ , Network.Google.Resource.MapsEngine.Rasters.Patch
94+ , Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchDelete
95+ , Network.Google.Resource.MapsEngine.Rasters.Permissions.BatchUpdate
96+ , Network.Google.Resource.MapsEngine.Rasters.Permissions.List
97+ , Network.Google.Resource.MapsEngine.Rasters.Process
98+ , Network.Google.Resource.MapsEngine.Rasters.Upload
99+ , Network.Google.Resource.MapsEngine.Tables.Create
100+ , Network.Google.Resource.MapsEngine.Tables.Delete
101+ , Network.Google.Resource.MapsEngine.Tables.Features.BatchDelete
102+ , Network.Google.Resource.MapsEngine.Tables.Features.BatchInsert
103+ , Network.Google.Resource.MapsEngine.Tables.Features.BatchPatch
104+ , Network.Google.Resource.MapsEngine.Tables.Features.Get
105+ , Network.Google.Resource.MapsEngine.Tables.Features.List
106+ , Network.Google.Resource.MapsEngine.Tables.Files.Insert
107+ , Network.Google.Resource.MapsEngine.Tables.Get
108+ , Network.Google.Resource.MapsEngine.Tables.List
109+ , Network.Google.Resource.MapsEngine.Tables.Parents.List
110+ , Network.Google.Resource.MapsEngine.Tables.Patch
111+ , Network.Google.Resource.MapsEngine.Tables.Permissions.BatchDelete
112+ , Network.Google.Resource.MapsEngine.Tables.Permissions.BatchUpdate
113+ , Network.Google.Resource.MapsEngine.Tables.Permissions.List
114+ , Network.Google.Resource.MapsEngine.Tables.Process
115+ , Network.Google.Resource.MapsEngine.Tables.Upload
116+
117+ other-modules:
118+ Network.Google.MapsEngine.Types.Product
119+ , Network.Google.MapsEngine.Types.Sum
120+
121+ build-depends:
122+ gogol-core == 0.3.0.*
123+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-maps-engine.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-maps-engine";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Maps Engine SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-plus.cabalnew file+54
@@ -0,0 +1,54 @@
1+name: gogol-plus
2+version: 0.3.0
3+synopsis: Google + SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Builds on top of the Google+ platform.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v1@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.Plus
37+ , Network.Google.Plus.Types
38+ , Network.Google.Resource.Plus.Activities.Get
39+ , Network.Google.Resource.Plus.Activities.List
40+ , Network.Google.Resource.Plus.Activities.Search
41+ , Network.Google.Resource.Plus.Comments.Get
42+ , Network.Google.Resource.Plus.Comments.List
43+ , Network.Google.Resource.Plus.People.Get
44+ , Network.Google.Resource.Plus.People.List
45+ , Network.Google.Resource.Plus.People.ListByActivity
46+ , Network.Google.Resource.Plus.People.Search
47+
48+ other-modules:
49+ Network.Google.Plus.Types.Product
50+ , Network.Google.Plus.Types.Sum
51+
52+ build-depends:
53+ gogol-core == 0.3.0.*
54+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-plus.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-plus";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google + SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-resourceviews.cabalnew file+61
@@ -0,0 +1,61 @@
1+name: gogol-resourceviews
2+version: 0.3.0
3+synopsis: Google Compute Engine Instance Groups SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ The Resource View API allows users to create and manage logical sets of
18+ Google Compute Engine instances.
19+ .
20+ /Warning:/ This is an experimental prototype/preview release which is still
21+ under exploratory development and not intended for public use, caveat emptor!
22+ .
23+ This library is compatible with version @v1beta2@
24+ of the API.
25+ .
26+ Labels:
27+ .
28+ * Limited Availability
29+
30+source-repository head
31+ type: git
32+ location: git://github.com/brendanhay/gogol.git
33+
34+library
35+ default-language: Haskell2010
36+ hs-source-dirs: src gen
37+
38+ ghc-options: -Wall
39+
40+ exposed-modules:
41+ Network.Google.Resource.ResourceViews.ZoneOperations.Get
42+ , Network.Google.Resource.ResourceViews.ZoneOperations.List
43+ , Network.Google.Resource.ResourceViews.ZoneViews.AddResources
44+ , Network.Google.Resource.ResourceViews.ZoneViews.Delete
45+ , Network.Google.Resource.ResourceViews.ZoneViews.Get
46+ , Network.Google.Resource.ResourceViews.ZoneViews.GetService
47+ , Network.Google.Resource.ResourceViews.ZoneViews.Insert
48+ , Network.Google.Resource.ResourceViews.ZoneViews.List
49+ , Network.Google.Resource.ResourceViews.ZoneViews.ListResources
50+ , Network.Google.Resource.ResourceViews.ZoneViews.RemoveResources
51+ , Network.Google.Resource.ResourceViews.ZoneViews.SetService
52+ , Network.Google.ResourceViews
53+ , Network.Google.ResourceViews.Types
54+
55+ other-modules:
56+ Network.Google.ResourceViews.Types.Product
57+ , Network.Google.ResourceViews.Types.Sum
58+
59+ build-depends:
60+ gogol-core == 0.3.0.*
61+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-resourceviews.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-resourceviews";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Compute Engine Instance Groups SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-translate.cabalnew file+48
@@ -0,0 +1,48 @@
1+name: gogol-translate
2+version: 0.3.0
3+synopsis: Google Translate SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Translates text from one language to another.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v2@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.Resource.Language.Detections.List
37+ , Network.Google.Resource.Language.Languages.List
38+ , Network.Google.Resource.Language.Translations.List
39+ , Network.Google.Translate
40+ , Network.Google.Translate.Types
41+
42+ other-modules:
43+ Network.Google.Translate.Types.Product
44+ , Network.Google.Translate.Types.Sum
45+
46+ build-depends:
47+ gogol-core == 0.3.0.*
48+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-translate.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-translate";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Translate SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-webmaster-tools.cabalnew file+58
@@ -0,0 +1,58 @@
1+name: gogol-webmaster-tools
2+version: 0.3.0
3+synopsis: Google Search Console SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ View Google Search Console data for your verified sites.
18+ .
19+ /Warning:/ This is an experimental prototype/preview release which is still
20+ under exploratory development and not intended for public use, caveat emptor!
21+ .
22+ This library is compatible with version @v3@
23+ of the API.
24+
25+source-repository head
26+ type: git
27+ location: git://github.com/brendanhay/gogol.git
28+
29+library
30+ default-language: Haskell2010
31+ hs-source-dirs: src gen
32+
33+ ghc-options: -Wall
34+
35+ exposed-modules:
36+ Network.Google.Resource.Webmasters.Searchanalytics.Query
37+ , Network.Google.Resource.Webmasters.Sitemaps.Delete
38+ , Network.Google.Resource.Webmasters.Sitemaps.Get
39+ , Network.Google.Resource.Webmasters.Sitemaps.List
40+ , Network.Google.Resource.Webmasters.Sitemaps.Submit
41+ , Network.Google.Resource.Webmasters.Sites.Add
42+ , Network.Google.Resource.Webmasters.Sites.Delete
43+ , Network.Google.Resource.Webmasters.Sites.Get
44+ , Network.Google.Resource.Webmasters.Sites.List
45+ , Network.Google.Resource.Webmasters.URLCrawlErrorsSamples.Get
46+ , Network.Google.Resource.Webmasters.URLCrawlErrorsSamples.List
47+ , Network.Google.Resource.Webmasters.URLCrawlErrorsSamples.MarkAsFixed
48+ , Network.Google.Resource.Webmasters.URLCrawlErrorscounts.Query
49+ , Network.Google.WebmasterTools
50+ , Network.Google.WebmasterTools.Types
51+
52+ other-modules:
53+ Network.Google.WebmasterTools.Types.Product
54+ , Network.Google.WebmasterTools.Types.Sum
55+
56+ build-depends:
57+ gogol-core == 0.3.0.*
58+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-webmaster-tools.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-webmaster-tools";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google Search Console SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/gogol-youtube.cabalnew file+117
@@ -0,0 +1,117 @@
1+name: gogol-youtube
2+version: 0.3.0
3+synopsis: Google YouTube Data SDK.
4+homepage: https://github.com/brendanhay/gogol
5+bug-reports: https://github.com/brendanhay/gogol/issues
6+license: OtherLicense
7+license-file: LICENSE
8+author: Brendan Hay
9+maintainer: Brendan Hay <brendan.g.hay@gmail.com>
10+copyright: Copyright (c) 2015-2016 Brendan Hay
11+category: Network, Google, Cloud
12+build-type: Simple
13+cabal-version: >= 1.10
14+extra-source-files: README.md src/.gitkeep
15+
16+description:
17+ Supports core YouTube features, such as uploading videos, creating and
18+ managing playlists, searching for content, and much more.
19+ .
20+ /Warning:/ This is an experimental prototype/preview release which is still
21+ under exploratory development and not intended for public use, caveat emptor!
22+ .
23+ This library is compatible with version @v3@
24+ of the API.
25+
26+source-repository head
27+ type: git
28+ location: git://github.com/brendanhay/gogol.git
29+
30+library
31+ default-language: Haskell2010
32+ hs-source-dirs: src gen
33+
34+ ghc-options: -Wall
35+
36+ exposed-modules:
37+ Network.Google.Resource.YouTube.Activities.Insert
38+ , Network.Google.Resource.YouTube.Activities.List
39+ , Network.Google.Resource.YouTube.Captions.Delete
40+ , Network.Google.Resource.YouTube.Captions.Download
41+ , Network.Google.Resource.YouTube.Captions.Insert
42+ , Network.Google.Resource.YouTube.Captions.List
43+ , Network.Google.Resource.YouTube.Captions.Update
44+ , Network.Google.Resource.YouTube.ChannelBanners.Insert
45+ , Network.Google.Resource.YouTube.ChannelSections.Delete
46+ , Network.Google.Resource.YouTube.ChannelSections.Insert
47+ , Network.Google.Resource.YouTube.ChannelSections.List
48+ , Network.Google.Resource.YouTube.ChannelSections.Update
49+ , Network.Google.Resource.YouTube.Channels.List
50+ , Network.Google.Resource.YouTube.Channels.Update
51+ , Network.Google.Resource.YouTube.CommentThreads.Insert
52+ , Network.Google.Resource.YouTube.CommentThreads.List
53+ , Network.Google.Resource.YouTube.CommentThreads.Update
54+ , Network.Google.Resource.YouTube.Comments.Delete
55+ , Network.Google.Resource.YouTube.Comments.Insert
56+ , Network.Google.Resource.YouTube.Comments.List
57+ , Network.Google.Resource.YouTube.Comments.MarkAsSpam
58+ , Network.Google.Resource.YouTube.Comments.SetModerationStatus
59+ , Network.Google.Resource.YouTube.Comments.Update
60+ , Network.Google.Resource.YouTube.FanFundingEvents.List
61+ , Network.Google.Resource.YouTube.GuideCategories.List
62+ , Network.Google.Resource.YouTube.I18nLanguages.List
63+ , Network.Google.Resource.YouTube.I18nRegions.List
64+ , Network.Google.Resource.YouTube.LiveBroadcasts.Bind
65+ , Network.Google.Resource.YouTube.LiveBroadcasts.Control
66+ , Network.Google.Resource.YouTube.LiveBroadcasts.Delete
67+ , Network.Google.Resource.YouTube.LiveBroadcasts.Insert
68+ , Network.Google.Resource.YouTube.LiveBroadcasts.List
69+ , Network.Google.Resource.YouTube.LiveBroadcasts.Transition
70+ , Network.Google.Resource.YouTube.LiveBroadcasts.Update
71+ , Network.Google.Resource.YouTube.LiveChatBans.Delete
72+ , Network.Google.Resource.YouTube.LiveChatBans.Insert
73+ , Network.Google.Resource.YouTube.LiveChatMessages.Delete
74+ , Network.Google.Resource.YouTube.LiveChatMessages.Insert
75+ , Network.Google.Resource.YouTube.LiveChatMessages.List
76+ , Network.Google.Resource.YouTube.LiveChatModerators.Delete
77+ , Network.Google.Resource.YouTube.LiveChatModerators.Insert
78+ , Network.Google.Resource.YouTube.LiveChatModerators.List
79+ , Network.Google.Resource.YouTube.LiveStreams.Delete
80+ , Network.Google.Resource.YouTube.LiveStreams.Insert
81+ , Network.Google.Resource.YouTube.LiveStreams.List
82+ , Network.Google.Resource.YouTube.LiveStreams.Update
83+ , Network.Google.Resource.YouTube.PlayListItems.Delete
84+ , Network.Google.Resource.YouTube.PlayListItems.Insert
85+ , Network.Google.Resource.YouTube.PlayListItems.List
86+ , Network.Google.Resource.YouTube.PlayListItems.Update
87+ , Network.Google.Resource.YouTube.PlayLists.Delete
88+ , Network.Google.Resource.YouTube.PlayLists.Insert
89+ , Network.Google.Resource.YouTube.PlayLists.List
90+ , Network.Google.Resource.YouTube.PlayLists.Update
91+ , Network.Google.Resource.YouTube.Search.List
92+ , Network.Google.Resource.YouTube.Sponsors.List
93+ , Network.Google.Resource.YouTube.Subscriptions.Delete
94+ , Network.Google.Resource.YouTube.Subscriptions.Insert
95+ , Network.Google.Resource.YouTube.Subscriptions.List
96+ , Network.Google.Resource.YouTube.Thumbnails.Set
97+ , Network.Google.Resource.YouTube.VideoAbuseReportReasons.List
98+ , Network.Google.Resource.YouTube.VideoCategories.List
99+ , Network.Google.Resource.YouTube.Videos.Delete
100+ , Network.Google.Resource.YouTube.Videos.GetRating
101+ , Network.Google.Resource.YouTube.Videos.Insert
102+ , Network.Google.Resource.YouTube.Videos.List
103+ , Network.Google.Resource.YouTube.Videos.Rate
104+ , Network.Google.Resource.YouTube.Videos.ReportAbuse
105+ , Network.Google.Resource.YouTube.Videos.Update
106+ , Network.Google.Resource.YouTube.Watermarks.Set
107+ , Network.Google.Resource.YouTube.Watermarks.UnSet
108+ , Network.Google.YouTube
109+ , Network.Google.YouTube.Types
110+
111+ other-modules:
112+ Network.Google.YouTube.Types.Product
113+ , Network.Google.YouTube.Types.Sum
114+
115+ build-depends:
116+ gogol-core == 0.3.0.*
117+ , base >= 4.7 && < 5
test/golden-test-cases/gogol-youtube.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, gogol-core, stdenv }:
2+mkDerivation {
3+ pname = "gogol-youtube";
4+ version = "0.3.0";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base gogol-core ];
7+ homepage = "https://github.com/brendanhay/gogol";
8+ description = "Google YouTube Data SDK";
9+ license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
11+}
test/golden-test-cases/groundhog-mysql.cabalnew file+32
@@ -0,0 +1,32 @@
1+name: groundhog-mysql
2+version: 0.8
3+license: BSD3
4+license-file: LICENSE
5+author: Boris Lykah <lykahb@gmail.com>
6+maintainer: Boris Lykah <lykahb@gmail.com>
7+synopsis: MySQL backend for the groundhog library.
8+description: This package uses mysql-simple and mysql
9+category: Database
10+stability: Stable
11+cabal-version: >= 1.6
12+build-type: Simple
13+
14+extra-source-files:
15+ changelog
16+
17+library
18+ build-depends: base >= 4 && < 5
19+ , mysql-simple >= 0.2.2.3 && < 0.5
20+ , mysql >= 0.1.1.3 && < 0.2
21+ , bytestring >= 0.9
22+ , transformers >= 0.2.1 && < 0.6
23+ , groundhog >= 0.8 && < 0.9
24+ , monad-control >= 0.3 && < 1.1
25+ , monad-logger >= 0.3 && < 0.4
26+ , containers >= 0.2
27+ , text >= 0.8
28+ , resource-pool >= 0.2.1
29+ , time >= 1.1
30+ , resourcet >= 1.1.2
31+ exposed-modules: Database.Groundhog.MySQL
32+ ghc-options: -Wall -fno-warn-unused-do-bind
test/golden-test-cases/groundhog-mysql.nix.goldennew file+15
@@ -0,0 +1,15 @@
1+{ mkDerivation, base, bytestring, containers, groundhog
2+, monad-control, monad-logger, mysql, mysql-simple, resource-pool
3+, resourcet, stdenv, text, time, transformers
4+}:
5+mkDerivation {
6+ pname = "groundhog-mysql";
7+ version = "0.8";
8+ sha256 = "deadbeef";
9+ libraryHaskellDepends = [
10+ base bytestring containers groundhog monad-control monad-logger
11+ mysql mysql-simple resource-pool resourcet text time transformers
12+ ];
13+ description = "MySQL backend for the groundhog library";
14+ license = stdenv.lib.licenses.bsd3;
15+}
test/golden-test-cases/gsasl.cabalnew file+38
@@ -0,0 +1,38 @@
1+name: gsasl
2+version: 0.3.6
3+license: GPL-3
4+license-file: license.txt
5+author: John Millikin <john@john-millikin.com>
6+maintainer: John Millikin <john@john-millikin.com>
7+build-type: Simple
8+cabal-version: >= 1.6
9+category: Network
10+stability: experimental
11+homepage: https://john-millikin.com/software/haskell-gsasl/
12+bug-reports: mailto:jmillikin@gmail.com
13+
14+synopsis: Bindings for GNU libgsasl
15+description:
16+
17+source-repository head
18+ type: git
19+ location: https://john-millikin.com/code/haskell-gsasl/
20+
21+source-repository this
22+ type: git
23+ location: https://john-millikin.com/code/haskell-gsasl/
24+ tag: haskell-gsasl_0.3.6
25+
26+library
27+ ghc-options: -Wall -O2
28+ hs-source-dirs: lib
29+ c-sources: cbits/hsgsasl-shim.c
30+
31+ build-depends:
32+ base >= 4.0 && < 5.0
33+ , transformers >= 0.2
34+ , bytestring >= 0.9
35+
36+ pkgconfig-depends: libgsasl >= 1.1
37+
38+ exposed-modules: Network.Protocol.SASL.GNU
test/golden-test-cases/gsasl.nix.goldennew file+11
@@ -0,0 +1,11 @@
1+{ mkDerivation, base, bytestring, gsasl, stdenv, transformers }:
2+mkDerivation {
3+ pname = "gsasl";
4+ version = "0.3.6";
5+ sha256 = "deadbeef";
6+ libraryHaskellDepends = [ base bytestring transformers ];
7+ libraryPkgconfigDepends = [ gsasl ];
8+ homepage = "https://john-millikin.com/software/haskell-gsasl/";
9+ description = "Bindings for GNU libgsasl";
10+ license = stdenv.lib.licenses.gpl3;
11+}
test/golden-test-cases/hOpenPGP.cabalnew file+342
@@ -0,0 +1,342 @@
1+Name: hOpenPGP
2+Version: 2.5.5
3+Synopsis: native Haskell implementation of OpenPGP (RFC4880)
4+Description: native Haskell implementation of OpenPGP (RFC4880), plus Camellia (RFC5581)
5+Homepage: http://floss.scru.org/hOpenPGP/
6+License: MIT
7+License-file: LICENSE
8+Author: Clint Adams
9+Maintainer: Clint Adams <clint@debian.org>
10+Copyright: 2012-2016 Clint Adams
11+Category: Codec, Data
12+Build-type: Simple
13+Extra-source-files: tests/suite.hs
14+ , tests/data/000001-006.public_key
15+ , tests/data/000002-013.user_id
16+ , tests/data/000003-002.sig
17+ , tests/data/000004-012.ring_trust
18+ , tests/data/000005-002.sig
19+ , tests/data/000006-012.ring_trust
20+ , tests/data/000007-002.sig
21+ , tests/data/000008-012.ring_trust
22+ , tests/data/000009-002.sig
23+ , tests/data/000010-012.ring_trust
24+ , tests/data/000011-002.sig
25+ , tests/data/000012-012.ring_trust
26+ , tests/data/000013-014.public_subkey
27+ , tests/data/000014-002.sig
28+ , tests/data/000015-012.ring_trust
29+ , tests/data/000016-006.public_key
30+ , tests/data/000017-002.sig
31+ , tests/data/000018-012.ring_trust
32+ , tests/data/000019-013.user_id
33+ , tests/data/000020-002.sig
34+ , tests/data/000021-012.ring_trust
35+ , tests/data/000022-002.sig
36+ , tests/data/000023-012.ring_trust
37+ , tests/data/000024-014.public_subkey
38+ , tests/data/000025-002.sig
39+ , tests/data/000026-012.ring_trust
40+ , tests/data/000027-006.public_key
41+ , tests/data/000028-002.sig
42+ , tests/data/000029-012.ring_trust
43+ , tests/data/000030-013.user_id
44+ , tests/data/000031-002.sig
45+ , tests/data/000032-012.ring_trust
46+ , tests/data/000033-002.sig
47+ , tests/data/000034-012.ring_trust
48+ , tests/data/000035-006.public_key
49+ , tests/data/000036-013.user_id
50+ , tests/data/000037-002.sig
51+ , tests/data/000038-012.ring_trust
52+ , tests/data/000039-002.sig
53+ , tests/data/000040-012.ring_trust
54+ , tests/data/000041-017.attribute
55+ , tests/data/000042-002.sig
56+ , tests/data/000043-012.ring_trust
57+ , tests/data/000044-014.public_subkey
58+ , tests/data/000045-002.sig
59+ , tests/data/000046-012.ring_trust
60+ , tests/data/000047-005.secret_key
61+ , tests/data/000048-013.user_id
62+ , tests/data/000049-002.sig
63+ , tests/data/000050-012.ring_trust
64+ , tests/data/000051-007.secret_subkey
65+ , tests/data/000052-002.sig
66+ , tests/data/000053-012.ring_trust
67+ , tests/data/000054-005.secret_key
68+ , tests/data/000055-002.sig
69+ , tests/data/000056-012.ring_trust
70+ , tests/data/000057-013.user_id
71+ , tests/data/000058-002.sig
72+ , tests/data/000059-012.ring_trust
73+ , tests/data/000060-007.secret_subkey
74+ , tests/data/000061-002.sig
75+ , tests/data/000062-012.ring_trust
76+ , tests/data/000063-005.secret_key
77+ , tests/data/000064-002.sig
78+ , tests/data/000065-012.ring_trust
79+ , tests/data/000066-013.user_id
80+ , tests/data/000067-002.sig
81+ , tests/data/000068-012.ring_trust
82+ , tests/data/000069-005.secret_key
83+ , tests/data/000070-013.user_id
84+ , tests/data/000071-002.sig
85+ , tests/data/000072-012.ring_trust
86+ , tests/data/000073-017.attribute
87+ , tests/data/000074-002.sig
88+ , tests/data/000075-012.ring_trust
89+ , tests/data/000076-007.secret_subkey
90+ , tests/data/000077-002.sig
91+ , tests/data/000078-012.ring_trust
92+ , tests/data/pubring.gpg
93+ , tests/data/secring.gpg
94+ , tests/data/compressedsig.gpg
95+ , tests/data/msg1.asc
96+ , tests/data/uncompressed-ops-rsa.gpg
97+ , tests/data/uncompressed-ops-dsa.gpg
98+ , tests/data/uncompressed-ops-dsa-sha384.txt.gpg
99+ , tests/data/encryption.gpg
100+ , tests/data/compressedsig-zlib.gpg
101+ , tests/data/compressedsig-bzip2.gpg
102+ , tests/data/onepass_sig
103+ , tests/data/simple.seckey
104+ , tests/data/minimized.gpg
105+ , tests/data/subkey.gpg
106+ , tests/data/signing-subkey.gpg
107+ , tests/data/uat.gpg
108+ , tests/data/prikey-rev.gpg
109+ , tests/data/subkey-rev.gpg
110+ , tests/data/6F87040E.pubkey
111+ , tests/data/6F87040E-cr.pubkey
112+ , tests/data/v3.key
113+ , tests/data/primary-binding.gpg
114+ , tests/data/pki-password.txt
115+ , tests/data/symmetric-password.txt
116+ , tests/data/encryption-sym-aes256-s2k0.gpg
117+ , tests/data/encryption-sym-aes128-s2k0.gpg
118+ , tests/data/encryption-sym-aes128.gpg
119+ , tests/data/encryption-sym-aes256.gpg
120+ , tests/data/encryption-sym-3des-s2k0.gpg
121+ , tests/data/encryption-sym-3des.gpg
122+ , tests/data/encryption-sym-aes192-s2k0.gpg
123+ , tests/data/encryption-sym-aes192.gpg
124+ , tests/data/encryption-sym-blowfish-s2k0.gpg
125+ , tests/data/encryption-sym-blowfish.gpg
126+ , tests/data/encryption-sym-twofish-s2k0.gpg
127+ , tests/data/encryption-sym-twofish.gpg
128+ , tests/data/encryption-sym-cast5-mdc-s2k0.gpg
129+ , tests/data/encryption-sym-cast5-mdc.gpg
130+ , tests/data/encryption-sym-blowfish-mdc-s2k0.gpg
131+ , tests/data/encryption-sym-blowfish-mdc.gpg
132+ , tests/data/encryption-sym-3des-mdc-s2k0.gpg
133+ , tests/data/encryption-sym-3des-mdc.gpg
134+ , tests/data/encryption-sym-cast5.gpg
135+ , tests/data/encryption-sym-cast5-s2k0.gpg
136+ , tests/data/encryption-sym-camellia128.gpg
137+ , tests/data/encryption-sym-camellia128-s2k0.gpg
138+ , tests/data/encryption-sym-camellia192.gpg
139+ , tests/data/encryption-sym-camellia256.gpg
140+ , tests/data/16bitcksum.seckey
141+ , tests/data/aes256-sha512.seckey
142+ , tests/data/unencrypted.seckey
143+ , tests/data/v3-genericcert.sig
144+ , tests/data/revoked.pubkey
145+ , tests/data/expired.pubkey
146+ , tests/data/sigs-with-regexes
147+ , tests/data/gnu-dummy-s2k-101-secret-key.gpg
148+ , tests/data/anibal-ed25519.gpg
149+
150+Cabal-version: >= 1.10
151+
152+flag network-uri
153+ description: Get Network.URI from the network-uri package
154+ default: True
155+
156+Library
157+ Exposed-modules: Codec.Encryption.OpenPGP.Types
158+ , Codec.Encryption.OpenPGP.CFB
159+ , Codec.Encryption.OpenPGP.Compression
160+ , Codec.Encryption.OpenPGP.Expirations
161+ , Codec.Encryption.OpenPGP.Fingerprint
162+ , Codec.Encryption.OpenPGP.KeyInfo
163+ , Codec.Encryption.OpenPGP.KeyringParser
164+ , Codec.Encryption.OpenPGP.KeySelection
165+ , Codec.Encryption.OpenPGP.Ontology
166+ , Codec.Encryption.OpenPGP.S2K
167+ , Codec.Encryption.OpenPGP.SecretKey
168+ , Codec.Encryption.OpenPGP.Serialize
169+ , Codec.Encryption.OpenPGP.Signatures
170+ , Data.Conduit.OpenPGP.Compression
171+ , Data.Conduit.OpenPGP.Decrypt
172+ , Data.Conduit.OpenPGP.Filter
173+ , Data.Conduit.OpenPGP.Keyring
174+ , Data.Conduit.OpenPGP.Keyring.Instances
175+ , Data.Conduit.OpenPGP.Verify
176+ Other-Modules: Codec.Encryption.OpenPGP.Internal
177+ , Codec.Encryption.OpenPGP.Internal.CryptoCipherTypes
178+ , Codec.Encryption.OpenPGP.Internal.Cryptonite
179+ , Codec.Encryption.OpenPGP.Internal.HOBlockCipher
180+ , Codec.Encryption.OpenPGP.SerializeForSigs
181+ , Codec.Encryption.OpenPGP.Types.Internal.Base
182+ , Codec.Encryption.OpenPGP.Types.Internal.CryptoniteNewtypes
183+ , Codec.Encryption.OpenPGP.Types.Internal.PacketClass
184+ , Codec.Encryption.OpenPGP.Types.Internal.PKITypes
185+ , Codec.Encryption.OpenPGP.Types.Internal.Pkt
186+ , Codec.Encryption.OpenPGP.Types.Internal.TK
187+ , Codec.Encryption.OpenPGP.BlockCipher
188+ Build-depends: aeson
189+ , attoparsec
190+ , base > 4 && < 5
191+ , base16-bytestring
192+ , base64-bytestring
193+ , bifunctors
194+ , byteable
195+ , bytestring
196+ , bzlib
197+ , binary >= 0.6.4.0
198+ , binary-conduit
199+ , conduit >= 0.5 && < 1.3
200+ , conduit-extra >= 1.1
201+ , containers
202+ , cryptonite >= 0.5
203+ , crypto-cipher-types
204+ , data-default-class
205+ , errors
206+ , hashable
207+ , incremental-parser
208+ , ixset-typed
209+ , lens >= 3.0
210+ , memory
211+ , monad-loops
212+ , nettle
213+ , newtype
214+ , openpgp-asciiarmor >= 0.1
215+ , resourcet > 0.4
216+ , securemem
217+ , semigroups
218+ , split
219+ , text
220+ , time >= 1.1
221+ , time-locale-compat
222+ , transformers
223+ , unordered-containers
224+ , wl-pprint-extras
225+ , zlib
226+ if flag(network-uri)
227+ build-depends: network-uri >= 2.6, network >= 2.6
228+ else
229+ build-depends: network-uri < 2.6, network < 2.6
230+ default-language: Haskell2010
231+
232+
233+Test-Suite tests
234+ type: exitcode-stdio-1.0
235+ main-is: tests/suite.hs
236+ other-modules: Codec.Encryption.OpenPGP.Arbitrary
237+ Ghc-options: -Wall -with-rtsopts=-K1K
238+ Build-depends: hOpenPGP
239+ , aeson
240+ , attoparsec
241+ , base > 4 && < 5
242+ , base16-bytestring
243+ , bifunctors
244+ , byteable
245+ , bytestring
246+ , bzlib
247+ , binary >= 0.6.4.0
248+ , binary-conduit
249+ , conduit
250+ , conduit-extra
251+ , containers
252+ , cryptonite >= 0.5
253+ , crypto-cipher-types
254+ , data-default-class
255+ , errors
256+ , hashable
257+ , incremental-parser
258+ , ixset-typed
259+ , lens >= 3.0
260+ , memory
261+ , monad-loops
262+ , nettle
263+ , newtype
264+ , securemem
265+ , semigroups
266+ , split
267+ , text
268+ , time >= 1.1
269+ , time-locale-compat
270+ , transformers
271+ , unordered-containers
272+ , wl-pprint-extras
273+ , zlib
274+ , tasty
275+ , tasty-hunit
276+ , tasty-quickcheck
277+ , QuickCheck
278+ , quickcheck-instances
279+ , resourcet > 0.4
280+ if flag(network-uri)
281+ build-depends: network-uri >= 2.6, network >= 2.6
282+ else
283+ build-depends: network-uri < 2.6, network < 2.6
284+ default-language: Haskell2010
285+
286+Benchmark benchmark
287+ type: exitcode-stdio-1.0
288+ main-is: bench/mark.hs
289+ Ghc-options: -Wall
290+ Build-depends: hOpenPGP
291+ , aeson
292+ , base > 4 && < 5
293+ , base16-bytestring
294+ , base64-bytestring
295+ , bifunctors
296+ , byteable
297+ , bytestring
298+ , bzlib
299+ , binary >= 0.6.4.0
300+ , binary-conduit
301+ , conduit >= 0.5 && < 1.3
302+ , conduit-extra >= 1.1
303+ , containers
304+ , cryptonite >= 0.5
305+ , crypto-cipher-types
306+ , data-default-class
307+ , errors
308+ , hashable
309+ , incremental-parser
310+ , ixset-typed
311+ , lens >= 3.0
312+ , memory
313+ , monad-loops
314+ , nettle
315+ , newtype
316+ , openpgp-asciiarmor >= 0.1
317+ , resourcet > 0.4
318+ , securemem
319+ , semigroups
320+ , split
321+ , text
322+ , time >= 1.1
323+ , time-locale-compat
324+ , transformers
325+ , unordered-containers
326+ , wl-pprint-extras
327+ , zlib
328+ , criterion > 0.8
329+ if flag(network-uri)
330+ build-depends: network-uri >= 2.6, network >= 2.6
331+ else
332+ build-depends: network-uri < 2.6, network < 2.6
333+ default-language: Haskell2010
334+
335+source-repository head
336+ type: git
337+ location: git://git.debian.org/users/clint/hOpenPGP.git
338+
339+source-repository this
340+ type: git
341+ location: git://git.debian.org/users/clint/hOpenPGP.git
342+ tag: v2.5.5
test/golden-test-cases/hOpenPGP.nix.goldennew file+49
@@ -0,0 +1,49 @@
1+{ mkDerivation, aeson, attoparsec, base, base16-bytestring
2+, base64-bytestring, bifunctors, binary, binary-conduit, byteable
3+, bytestring, bzlib, conduit, conduit-extra, containers, criterion
4+, crypto-cipher-types, cryptonite, data-default-class, errors
5+, hashable, incremental-parser, ixset-typed, lens, memory
6+, monad-loops, nettle, network, network-uri, newtype
7+, openpgp-asciiarmor, QuickCheck, quickcheck-instances, resourcet
8+, securemem, semigroups, split, stdenv, tasty, tasty-hunit
9+, tasty-quickcheck, text, time, time-locale-compat, transformers
10+, unordered-containers, wl-pprint-extras, zlib
11+}:
12+mkDerivation {
13+ pname = "hOpenPGP";
14+ version = "2.5.5";
15+ sha256 = "deadbeef";
16+ libraryHaskellDepends = [
17+ aeson attoparsec base base16-bytestring base64-bytestring
18+ bifunctors binary binary-conduit byteable bytestring bzlib conduit
19+ conduit-extra containers crypto-cipher-types cryptonite
20+ data-default-class errors hashable incremental-parser ixset-typed
21+ lens memory monad-loops nettle network network-uri newtype
22+ openpgp-asciiarmor resourcet securemem semigroups split text time
23+ time-locale-compat transformers unordered-containers
24+ wl-pprint-extras zlib
25+ ];
26+ testHaskellDepends = [
27+ aeson attoparsec base base16-bytestring bifunctors binary
28+ binary-conduit byteable bytestring bzlib conduit conduit-extra
29+ containers crypto-cipher-types cryptonite data-default-class errors
30+ hashable incremental-parser ixset-typed lens memory monad-loops
31+ nettle network network-uri newtype QuickCheck quickcheck-instances
32+ resourcet securemem semigroups split tasty tasty-hunit
33+ tasty-quickcheck text time time-locale-compat transformers
34+ unordered-containers wl-pprint-extras zlib
35+ ];
36+ benchmarkHaskellDepends = [
37+ aeson base base16-bytestring base64-bytestring bifunctors binary
38+ binary-conduit byteable bytestring bzlib conduit conduit-extra
39+ containers criterion crypto-cipher-types cryptonite
40+ data-default-class errors hashable incremental-parser ixset-typed
41+ lens memory monad-loops nettle network network-uri newtype
42+ openpgp-asciiarmor resourcet securemem semigroups split text time
43+ time-locale-compat transformers unordered-containers
44+ wl-pprint-extras zlib
45+ ];
46+ homepage = "http://floss.scru.org/hOpenPGP/";
47+ description = "native Haskell implementation of OpenPGP (RFC4880)";
48+ license = stdenv.lib.licenses.mit;
49+}
test/golden-test-cases/hPDB-examples.cabalnew file+97
@@ -0,0 +1,97 @@
1+name: hPDB-examples
2+version: 1.2.0.8
3+synopsis: Examples for hPDB library
4+stability: stable
5+homepage: https://github.com/BioHaskell/hPDB-examples
6+package-url: http://hackage.haskell.org/package/hPDB
7+description: Examples for handling Protein Data Bank file format.
8+category: Bioinformatics
9+license: BSD3
10+license-file: LICENSE
11+
12+author: Michal J. Gajda
13+copyright: Copyright by Michal J. Gajda '2009-'2013
14+maintainer: mjgajda@googlemail.com
15+bug-reports: mailto:mjgajda@googlemail.com
16+
17+build-type: Simple
18+cabal-version: >=1.8
19+tested-with: GHC==7.4.2, GHC==7.6.3, GHC==7.8.4,GHC==7.10.3,GHC==8.0.1,GHC==8.2.2
20+--data-files: 1CRN.pdb, 1HTQ.pdb, 3JYV.pdb
21+extra-source-files: README.md INSTALL AUTHORS
22+
23+source-repository head
24+ type: git
25+ location: https://github.com/BioHaskell/hPDB-examples.git
26+
27+Executable PDB2Fasta
28+ main-is: examples/PDB2Fasta.hs
29+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
30+ build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq, QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=3.0
31+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash
32+
33+Executable ShiftToCenter
34+ main-is: examples/ShiftToCenter.hs
35+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
36+ build-depends: base>=4.0, base<4.11, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, bytestring, iterable >=1.0
37+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash
38+
39+Executable CleanPDB
40+ main-is: examples/CleanPDB.hs
41+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
42+ build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0
43+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash
44+
45+Executable SplitModels
46+ main-is: examples/SplitModels.hs
47+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
48+ build-depends: base>=4.0, base <4.11, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, bytestring, iterable >=1.0
49+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash
50+
51+Executable CanonicalAxes
52+ main-is: examples/CanonicalAxes.hs
53+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
54+ Build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0
55+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash
56+
57+Executable PrintEvents
58+ Main-is: tests/PrintEvents.hs
59+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
60+ Build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq, QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0
61+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls
62+
63+Executable PrintStructureObject
64+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
65+ Build-depends: base>=4.0, base <4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0
66+ Main-is: tests/PrintStructureObject.hs
67+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls
68+
69+Executable Rg
70+ main-is: examples/Rg.hs
71+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
72+ -fsimpl-tick-factor=150
73+ -- ^ To avoid difficulties with GHC 7.10.1:
74+ -- https://ghc.haskell.org/trac/ghc/ticket/10565
75+ Build-depends: base>=4.0, base <4.11, ghc-prim, bytestring, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, hPDB >= 1.2, iterable >=1.0
76+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls
77+
78+Executable StericClashCheck
79+ main-is: examples/StericClashCheck.hs
80+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
81+ Build-Depends: base>=4.0, base<4.11, bytestring, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq, Octree >= 0.5, QuickCheck, text, text-format, hPDB >= 1.2, iterable >=1.0
82+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls
83+
84+-- if flag(haveOpenGL) -- why can't we make it conditionally available?
85+Executable Viewer
86+ main-is: examples/Viewer.hs
87+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts -with-rtsopts=-N
88+ Build-depends: base>=4.0, base <4.11, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq,QuickCheck >= 2.5.0.0, text>=0.11.1.13, OpenGL, GLUT, hPDB >= 1.2, bytestring, iterable >=1.0
89+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash
90+
91+test-suite ParserPerformance
92+ main-is: tests/TestParser.hs
93+ type: exitcode-stdio-1.0
94+ ghc-options: -fspec-constr-count=4 -O3 -threaded -rtsopts "-with-rtsopts=-N -t"
95+ Build-depends: base>=4.0, base <4.11, ghc-prim, directory, mtl, template-haskell, vector, AC-Vector, containers, deepseq, text>=0.11.1.13, hPDB >= 1.2, bytestring, iterable >=1.0, IfElse >= 0.80, process >= 1.0, time >= 1.2
96+ other-extensions: ScopedTypeVariables OverloadedStrings BangPatterns NoMonomorphismRestriction EmptyDataDecls MagicHash
97+
test/golden-test-cases/hPDB-examples.nix.goldennew file+24
@@ -0,0 +1,24 @@
1+{ mkDerivation, AC-Vector, base, bytestring, containers, deepseq
2+, directory, ghc-prim, GLUT, hPDB, IfElse, iterable, mtl, Octree
3+, OpenGL, process, QuickCheck, stdenv, template-haskell, text
4+, text-format, time, vector
5+}:
6+mkDerivation {
7+ pname = "hPDB-examples";
8+ version = "1.2.0.8";
9+ sha256 = "deadbeef";
10+ isLibrary = false;
11+ isExecutable = true;
12+ executableHaskellDepends = [
13+ AC-Vector base bytestring containers deepseq directory ghc-prim
14+ GLUT hPDB iterable mtl Octree OpenGL QuickCheck template-haskell
15+ text text-format vector
16+ ];
17+ testHaskellDepends = [
18+ AC-Vector base bytestring containers deepseq directory ghc-prim
19+ hPDB IfElse iterable mtl process template-haskell text time vector
20+ ];
21+ homepage = "https://github.com/BioHaskell/hPDB-examples";
22+ description = "Examples for hPDB library";
23+ license = stdenv.lib.licenses.bsd3;
24+}
test/golden-test-cases/haddock-library.cabalnew file+130
@@ -0,0 +1,130 @@
1+name: haddock-library
2+version: 1.4.5
3+synopsis: Library exposing some functionality of Haddock.
4+description: Haddock is a documentation-generation tool for Haskell
5+ libraries. These modules expose some functionality of it
6+ without pulling in the GHC dependency. Please note that the
7+ API is likely to change so specify upper bounds in your
8+ project if you can't release often. For interacting with Haddock
9+ itself, see the ‘haddock’ package.
10+license: BSD3
11+license-file: LICENSE
12+maintainer: Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
13+homepage: http://www.haskell.org/haddock/
14+bug-reports: https://github.com/haskell/haddock/issues
15+category: Documentation
16+build-type: Simple
17+cabal-version: >= 2.0
18+extra-source-files:
19+ CHANGES.md
20+library
21+ default-language: Haskell2010
22+
23+ build-depends:
24+ base >= 4.5 && < 4.11
25+ , bytestring >= 0.9.2.1 && < 0.11
26+ , transformers >= 0.3.0 && < 0.6
27+
28+ -- internal sub-lib
29+ build-depends: attoparsec
30+
31+ hs-source-dirs: src
32+ ghc-options: -funbox-strict-fields -Wall -fwarn-tabs -O2
33+
34+ exposed-modules:
35+ Documentation.Haddock.Doc
36+ Documentation.Haddock.Markup
37+ Documentation.Haddock.Parser
38+ Documentation.Haddock.Parser.Monad
39+ Documentation.Haddock.Types
40+ Documentation.Haddock.Utf8
41+
42+ other-modules:
43+ Documentation.Haddock.Parser.Util
44+
45+ ghc-options: -Wall
46+ if impl(ghc >= 8.0)
47+ ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
48+
49+library attoparsec
50+ default-language: Haskell2010
51+
52+ build-depends:
53+ base >= 4.5 && < 4.11
54+ , bytestring >= 0.9.2.1 && < 0.11
55+ , deepseq >= 1.3 && < 1.5
56+
57+ hs-source-dirs: vendor/attoparsec-0.13.1.0
58+
59+ -- NB: haddock-library needs only small part of lib:attoparsec
60+ -- internally, so we only bundle that subset here
61+ exposed-modules:
62+ Data.Attoparsec.ByteString
63+ Data.Attoparsec.ByteString.Char8
64+
65+ other-modules:
66+ Data.Attoparsec
67+ Data.Attoparsec.ByteString.Buffer
68+ Data.Attoparsec.ByteString.FastSet
69+ Data.Attoparsec.ByteString.Internal
70+ Data.Attoparsec.Combinator
71+ Data.Attoparsec.Internal
72+ Data.Attoparsec.Internal.Fhthagn
73+ Data.Attoparsec.Internal.Types
74+ Data.Attoparsec.Number
75+
76+ ghc-options: -funbox-strict-fields -Wall -fwarn-tabs -O2
77+
78+ ghc-options: -Wall
79+ if impl(ghc >= 8.0)
80+ ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
81+ else
82+ build-depends: semigroups ^>= 0.18.3, fail ^>= 4.9.0.0
83+
84+
85+test-suite spec
86+ type: exitcode-stdio-1.0
87+ default-language: Haskell2010
88+ main-is: Spec.hs
89+ hs-source-dirs:
90+ test
91+ , src
92+ ghc-options: -Wall
93+
94+ cpp-options:
95+ -DTEST
96+
97+ other-modules:
98+ Documentation.Haddock.Doc
99+ Documentation.Haddock.Parser
100+ Documentation.Haddock.Parser.Monad
101+ Documentation.Haddock.Parser.Util
102+ Documentation.Haddock.Parser.UtilSpec
103+ Documentation.Haddock.ParserSpec
104+ Documentation.Haddock.Types
105+ Documentation.Haddock.Utf8
106+ Documentation.Haddock.Utf8Spec
107+
108+ build-depends:
109+ base-compat ^>= 0.9.3
110+ , transformers >= 0.3.0 && < 0.6
111+ , hspec ^>= 2.4.4
112+ , QuickCheck ^>= 2.10
113+
114+ -- internal sub-lib
115+ build-depends: attoparsec
116+
117+ -- Versions for the dependencies below are transitively pinned by
118+ -- dependency on haddock-library:lib:attoparsec
119+ build-depends:
120+ base
121+ , bytestring
122+ , deepseq
123+
124+ build-tool-depends:
125+ hspec-discover:hspec-discover ^>= 2.4.4
126+
127+source-repository head
128+ type: git
129+ subdir: haddock-library
130+ location: https://github.com/haskell/haddock.git
test/golden-test-cases/haddock-library.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, base, base-compat, bytestring, deepseq, hspec
2+, hspec-discover, QuickCheck, stdenv, transformers
3+}:
4+mkDerivation {
5+ pname = "haddock-library";
6+ version = "1.4.5";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base bytestring deepseq transformers ];
9+ testHaskellDepends = [
10+ base base-compat bytestring deepseq hspec QuickCheck transformers
11+ ];
12+ testToolDepends = [ hspec-discover ];
13+ doHaddock = false;
14+ homepage = "http://www.haskell.org/haddock/";
15+ description = "Library exposing some functionality of Haddock";
16+ license = stdenv.lib.licenses.bsd3;
17+}
test/golden-test-cases/hakyll.cabalnew file+321
@@ -0,0 +1,321 @@
1+Name: hakyll
2+Version: 4.10.0.0
3+
4+Synopsis: A static website compiler library
5+Description:
6+ Hakyll is a static website compiler library. It provides you with the tools to
7+ create a simple or advanced static website using a Haskell DSL and formats
8+ such as markdown or RST. You can find more information, including a tutorial,
9+ on the website:
10+
11+ .
12+
13+ * <http://jaspervdj.be/hakyll>
14+
15+ .
16+
17+ If you seek assistance, there's:
18+
19+ .
20+
21+ * A google group: <http://groups.google.com/group/hakyll>
22+
23+ .
24+
25+ * An IRC channel, @#hakyll@ on freenode
26+
27+ .
28+
29+ Additionally, there's the Haddock documentation in the different modules,
30+ meant as a reference.
31+
32+Author: Jasper Van der Jeugt <m@jaspervdj.be>
33+Maintainer: Jasper Van der Jeugt <m@jaspervdj.be>
34+Homepage: http://jaspervdj.be/hakyll
35+Bug-Reports: http://github.com/jaspervdj/Hakyll/issues
36+License: BSD3
37+License-File: LICENSE
38+Category: Web
39+
40+Cabal-Version: >= 1.8
41+Build-Type: Simple
42+Data-Dir: data
43+
44+Data-files:
45+ example/posts/2015-11-28-carpe-diem.markdown
46+ example/posts/2015-10-07-rosa-rosa-rosam.markdown
47+ example/posts/2015-12-07-tu-quoque.markdown
48+ example/posts/2015-08-12-spqr.markdown
49+ example/site.hs
50+ example/images/haskell-logo.png
51+ example/templates/post-list.html
52+ example/templates/default.html
53+ example/templates/archive.html
54+ example/templates/post.html
55+ example/css/default.css
56+ example/index.html
57+ example/about.rst
58+ example/contact.markdown
59+ templates/atom-item.xml
60+ templates/atom.xml
61+ templates/rss-item.xml
62+ templates/rss.xml
63+
64+Extra-source-files:
65+ CHANGELOG.md
66+ tests/data/example.md
67+ tests/data/example.md.metadata
68+ tests/data/images/favicon.ico
69+ tests/data/just-meta.html
70+ tests/data/just-meta.html.out
71+ tests/data/partial-helper.html
72+ tests/data/partial.html
73+ tests/data/partial.html.out
74+ tests/data/posts/2010-08-26-birthday.md
75+ tests/data/russian.md
76+ tests/data/strip.html
77+ tests/data/strip.html.out
78+ tests/data/template.html
79+ tests/data/template.html.out
80+
81+Source-Repository head
82+ Type: git
83+ Location: git://github.com/jaspervdj/hakyll.git
84+
85+Flag previewServer
86+ Description: Include the preview server
87+ Default: True
88+
89+Flag watchServer
90+ Description: Include the watch server
91+ Default: True
92+
93+Flag checkExternal
94+ Description: Include external link checking
95+ Default: True
96+
97+Library
98+ Ghc-Options: -Wall
99+ Hs-Source-Dirs: lib
100+
101+ Exposed-Modules:
102+ Hakyll
103+ Hakyll.Commands
104+ Hakyll.Core.Compiler
105+ Hakyll.Core.Compiler.Internal
106+ Hakyll.Core.Configuration
107+ Hakyll.Core.Dependencies
108+ Hakyll.Core.File
109+ Hakyll.Core.Identifier
110+ Hakyll.Core.Identifier.Pattern
111+ Hakyll.Core.Item
112+ Hakyll.Core.Logger
113+ Hakyll.Core.Metadata
114+ Hakyll.Core.Provider
115+ Hakyll.Core.Provider.Metadata
116+ Hakyll.Core.Routes
117+ Hakyll.Core.Rules
118+ Hakyll.Core.Rules.Internal
119+ Hakyll.Core.Runtime
120+ Hakyll.Core.Store
121+ Hakyll.Core.UnixFilter
122+ Hakyll.Core.Util.File
123+ Hakyll.Core.Util.String
124+ Hakyll.Core.Writable
125+ Hakyll.Main
126+ Hakyll.Web.CompressCss
127+ Hakyll.Web.Feed
128+ Hakyll.Web.Html
129+ Hakyll.Web.Html.RelativizeUrls
130+ Hakyll.Web.Paginate
131+ Hakyll.Web.Pandoc
132+ Hakyll.Web.Pandoc.Biblio
133+ Hakyll.Web.Pandoc.FileType
134+ Hakyll.Web.Redirect
135+ Hakyll.Web.Tags
136+ Hakyll.Web.Template
137+ Hakyll.Web.Template.Context
138+ Hakyll.Web.Template.Internal
139+ Hakyll.Web.Template.Internal.Element
140+ Hakyll.Web.Template.Internal.Trim
141+ Hakyll.Web.Template.List
142+
143+ Other-Modules:
144+ Data.List.Extended
145+ Data.Yaml.Extended
146+ Hakyll.Check
147+ Hakyll.Core.Compiler.Require
148+ Hakyll.Core.Item.SomeItem
149+ Hakyll.Core.Provider.Internal
150+ Hakyll.Core.Provider.MetadataCache
151+ Hakyll.Core.Util.Parser
152+ Hakyll.Web.Pandoc.Binary
153+ Paths_hakyll
154+
155+ Build-Depends:
156+ base >= 4.8 && < 5,
157+ binary >= 0.5 && < 0.9,
158+ blaze-html >= 0.5 && < 0.10,
159+ blaze-markup >= 0.5.1 && < 0.9,
160+ bytestring >= 0.9 && < 0.11,
161+ containers >= 0.3 && < 0.6,
162+ cryptohash >= 0.7 && < 0.12,
163+ data-default >= 0.4 && < 0.8,
164+ deepseq >= 1.3 && < 1.5,
165+ directory >= 1.0 && < 1.4,
166+ filepath >= 1.0 && < 1.5,
167+ lrucache >= 1.1.1 && < 1.3,
168+ mtl >= 1 && < 2.3,
169+ network >= 2.6 && < 2.7,
170+ network-uri >= 2.6 && < 2.7,
171+ pandoc >= 2.0.5 && < 2.1,
172+ pandoc-citeproc >= 0.12.1.1 && < 0.13,
173+ parsec >= 3.0 && < 3.2,
174+ process >= 1.6 && < 1.7,
175+ random >= 1.0 && < 1.2,
176+ regex-base >= 0.93 && < 0.94,
177+ regex-tdfa >= 1.1 && < 1.3,
178+ resourcet >= 1.1 && < 1.2,
179+ scientific >= 0.3.4 && < 0.4,
180+ tagsoup >= 0.13.1 && < 0.15,
181+ text >= 0.11 && < 1.3,
182+ time >= 1.8 && < 1.9,
183+ time-locale-compat >= 0.1 && < 0.2,
184+ unordered-containers >= 0.2 && < 0.3,
185+ vector >= 0.11 && < 0.13,
186+ yaml >= 0.8.11 && < 0.9,
187+ optparse-applicative >= 0.12 && < 0.15
188+
189+ If flag(previewServer)
190+ Build-depends:
191+ wai >= 3.2 && < 3.3,
192+ warp >= 3.2 && < 3.3,
193+ wai-app-static >= 3.1 && < 3.2,
194+ http-types >= 0.9 && < 0.10,
195+ fsnotify >= 0.2 && < 0.3,
196+ system-filepath >= 0.4.6 && <= 0.5
197+ Cpp-options:
198+ -DPREVIEW_SERVER
199+ Other-modules:
200+ Hakyll.Preview.Poll
201+ Hakyll.Preview.Server
202+
203+ If flag(watchServer)
204+ Build-depends:
205+ fsnotify >= 0.2 && < 0.3,
206+ system-filepath >= 0.4.6 && <= 0.5
207+ Cpp-options:
208+ -DWATCH_SERVER
209+ Other-modules:
210+ Hakyll.Preview.Poll
211+
212+ If flag(checkExternal)
213+ Build-depends:
214+ http-conduit >= 2.2 && < 2.3,
215+ http-types >= 0.7 && < 0.10
216+ Cpp-options:
217+ -DCHECK_EXTERNAL
218+
219+Test-suite hakyll-tests
220+ Type: exitcode-stdio-1.0
221+ Hs-source-dirs: tests
222+ Main-is: TestSuite.hs
223+ Ghc-options: -Wall
224+
225+ Other-modules:
226+ Hakyll.Core.Dependencies.Tests
227+ Hakyll.Core.Identifier.Tests
228+ Hakyll.Core.Provider.Metadata.Tests
229+ Hakyll.Core.Provider.Tests
230+ Hakyll.Core.Routes.Tests
231+ Hakyll.Core.Rules.Tests
232+ Hakyll.Core.Runtime.Tests
233+ Hakyll.Core.Store.Tests
234+ Hakyll.Core.UnixFilter.Tests
235+ Hakyll.Core.Util.String.Tests
236+ Hakyll.Web.CompressCss.Tests
237+ Hakyll.Web.Html.RelativizeUrls.Tests
238+ Hakyll.Web.Html.Tests
239+ Hakyll.Web.Pandoc.FileType.Tests
240+ Hakyll.Web.Template.Context.Tests
241+ Hakyll.Web.Template.Tests
242+ TestSuite.Util
243+
244+ Build-Depends:
245+ hakyll,
246+ QuickCheck >= 2.8 && < 2.11,
247+ tasty >= 0.11 && < 0.12,
248+ tasty-hunit >= 0.9 && < 0.10,
249+ tasty-quickcheck >= 0.8 && < 0.10,
250+ -- Copy pasted from hakyll dependencies:
251+ base >= 4.8 && < 5,
252+ binary >= 0.5 && < 0.9,
253+ blaze-html >= 0.5 && < 0.10,
254+ blaze-markup >= 0.5.1 && < 0.9,
255+ bytestring >= 0.9 && < 0.11,
256+ containers >= 0.3 && < 0.6,
257+ cryptohash >= 0.7 && < 0.12,
258+ data-default >= 0.4 && < 0.8,
259+ deepseq >= 1.3 && < 1.5,
260+ directory >= 1.0 && < 1.4,
261+ filepath >= 1.0 && < 1.5,
262+ lrucache >= 1.1.1 && < 1.3,
263+ mtl >= 1 && < 2.3,
264+ network >= 2.6 && < 2.7,
265+ network-uri >= 2.6 && < 2.7,
266+ pandoc >= 2.0.5 && < 2.1,
267+ pandoc-citeproc >= 0.12.1.1 && < 0.13,
268+ parsec >= 3.0 && < 3.2,
269+ process >= 1.6 && < 1.7,
270+ random >= 1.0 && < 1.2,
271+ regex-base >= 0.93 && < 0.94,
272+ regex-tdfa >= 1.1 && < 1.3,
273+ resourcet >= 1.1 && < 1.2,
274+ scientific >= 0.3.4 && < 0.4,
275+ tagsoup >= 0.13.1 && < 0.15,
276+ text >= 0.11 && < 1.3,
277+ time >= 1.8 && < 1.9,
278+ time-locale-compat >= 0.1 && < 0.2,
279+ unordered-containers >= 0.2 && < 0.3,
280+ vector >= 0.11 && < 0.13,
281+ yaml >= 0.8.11 && < 0.9,
282+ optparse-applicative >= 0.12 && < 0.15
283+
284+ If flag(previewServer)
285+ Build-depends:
286+ wai >= 3.2 && < 3.3,
287+ warp >= 3.2 && < 3.3,
288+ wai-app-static >= 3.1 && < 3.2,
289+ http-types >= 0.9 && < 0.10,
290+ fsnotify >= 0.2 && < 0.3,
291+ system-filepath >= 0.4.6 && <= 0.5
292+ Cpp-options:
293+ -DPREVIEW_SERVER
294+
295+ If flag(watchServer)
296+ Build-depends:
297+ fsnotify >= 0.2 && < 0.3,
298+ system-filepath >= 0.4.6 && <= 0.5
299+ Cpp-options:
300+ -DWATCH_SERVER
301+
302+ If flag(checkExternal)
303+ Build-depends:
304+ http-conduit >= 2.2 && < 2.3,
305+ http-types >= 0.7 && < 0.10
306+ Cpp-options:
307+ -DCHECK_EXTERNAL
308+
309+Executable hakyll-init
310+ Ghc-options: -Wall
311+ Hs-source-dirs: src
312+ Main-is: Init.hs
313+
314+ Other-modules:
315+ Paths_hakyll
316+
317+ Build-depends:
318+ hakyll,
319+ base >= 4 && < 5,
320+ directory >= 1.0 && < 1.4,
321+ filepath >= 1.0 && < 1.5
test/golden-test-cases/hakyll.nix.goldennew file+42

This diff is too big to show here.

test/golden-test-cases/happstack-hsp.cabalnew file+37

This diff is too big to show here.

test/golden-test-cases/happstack-hsp.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/happy.cabalnew file+180

This diff is too big to show here.

test/golden-test-cases/happy.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/harp.cabalnew file+31

This diff is too big to show here.

test/golden-test-cases/harp.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/hashtables.cabalnew file+199

This diff is too big to show here.

test/golden-test-cases/hashtables.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/haskell-tools-debug.cabalnew file+38

This diff is too big to show here.

test/golden-test-cases/haskell-tools-debug.nix.goldennew file+22

This diff is too big to show here.

test/golden-test-cases/haskell-tools-rewrite.cabalnew file+64

This diff is too big to show here.

test/golden-test-cases/haskell-tools-rewrite.nix.goldennew file+20

This diff is too big to show here.

test/golden-test-cases/hasql.cabalnew file+205

This diff is too big to show here.

test/golden-test-cases/hasql.nix.goldennew file+27

This diff is too big to show here.

test/golden-test-cases/hformat.cabalnew file+45

This diff is too big to show here.

test/golden-test-cases/hformat.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/highlighting-kate.cabalnew file+276

This diff is too big to show here.

test/golden-test-cases/highlighting-kate.nix.goldennew file+22

This diff is too big to show here.

test/golden-test-cases/hit.cabalnew file+125

This diff is too big to show here.

test/golden-test-cases/hit.nix.goldennew file+24

This diff is too big to show here.

test/golden-test-cases/hjson.cabalnew file+19

This diff is too big to show here.

test/golden-test-cases/hjson.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/hmpfr.cabalnew file+83

This diff is too big to show here.

test/golden-test-cases/hmpfr.nix.goldennew file+12

This diff is too big to show here.

test/golden-test-cases/hoogle.cabalnew file+142

This diff is too big to show here.

test/golden-test-cases/hoogle.nix.goldennew file+30

This diff is too big to show here.

test/golden-test-cases/hostname-validate.cabalnew file+20

This diff is too big to show here.

test/golden-test-cases/hostname-validate.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/hsinstall.cabalnew file+45

This diff is too big to show here.

test/golden-test-cases/hsinstall.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/hstatsd.cabalnew file+24

This diff is too big to show here.

test/golden-test-cases/hstatsd.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/hsx-jmacro.cabalnew file+33

This diff is too big to show here.

test/golden-test-cases/hsx-jmacro.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/hsyslog.cabalnew file+77

This diff is too big to show here.

test/golden-test-cases/hsyslog.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/htoml.cabalnew file+89

This diff is too big to show here.

test/golden-test-cases/htoml.nix.goldennew file+24

This diff is too big to show here.

test/golden-test-cases/http-conduit.cabalnew file+82

This diff is too big to show here.

test/golden-test-cases/http-conduit.nix.goldennew file+29

This diff is too big to show here.

test/golden-test-cases/http-link-header.cabalnew file+74

This diff is too big to show here.

test/golden-test-cases/http-link-header.nix.goldennew file+23

This diff is too big to show here.

test/golden-test-cases/http-media.cabalnew file+128

This diff is too big to show here.

test/golden-test-cases/http-media.nix.goldennew file+19

This diff is too big to show here.

test/golden-test-cases/hxt-charproperties.cabalnew file+46

This diff is too big to show here.

test/golden-test-cases/hxt-charproperties.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/hxt-expat.cabalnew file+36

This diff is too big to show here.

test/golden-test-cases/hxt-expat.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/hxt-tagsoup.cabalnew file+42

This diff is too big to show here.

test/golden-test-cases/hxt-tagsoup.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/iconv.cabalnew file+34

This diff is too big to show here.

test/golden-test-cases/iconv.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/incremental-parser.cabalnew file+55

This diff is too big to show here.

test/golden-test-cases/incremental-parser.nix.goldennew file+19

This diff is too big to show here.

test/golden-test-cases/indentation-core.cabalnew file+39

This diff is too big to show here.

test/golden-test-cases/indentation-core.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/indentation-parsec.cabalnew file+70

This diff is too big to show here.

test/golden-test-cases/indentation-parsec.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/inline-c-cpp.cabalnew file+41

This diff is too big to show here.

test/golden-test-cases/inline-c-cpp.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/integer-logarithms.cabalnew file+111

This diff is too big to show here.

test/golden-test-cases/integer-logarithms.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/intero.cabalnew file+116

This diff is too big to show here.

test/golden-test-cases/intero.nix.goldennew file+24

This diff is too big to show here.

test/golden-test-cases/invariant.cabalnew file+69

This diff is too big to show here.

test/golden-test-cases/invariant.nix.goldennew file+21

This diff is too big to show here.

test/golden-test-cases/io-machine.cabalnew file+34

This diff is too big to show here.

test/golden-test-cases/io-machine.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/io-streams-haproxy.cabalnew file+78

This diff is too big to show here.

test/golden-test-cases/io-streams-haproxy.nix.goldennew file+19

This diff is too big to show here.

test/golden-test-cases/ip.cabalnew file+124

This diff is too big to show here.

test/golden-test-cases/ip.nix.goldennew file+24

This diff is too big to show here.

test/golden-test-cases/iso639.cabalnew file+26

This diff is too big to show here.

test/golden-test-cases/iso639.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/iso8601-time.cabalnew file+60

This diff is too big to show here.

test/golden-test-cases/iso8601-time.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/jmacro-rpc-happstack.cabalnew file+29

This diff is too big to show here.

test/golden-test-cases/jmacro-rpc-happstack.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/jmacro-rpc.cabalnew file+26

This diff is too big to show here.

test/golden-test-cases/jmacro-rpc.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/jose.cabalnew file+147

This diff is too big to show here.

test/golden-test-cases/jose.nix.goldennew file+30

This diff is too big to show here.

test/golden-test-cases/katip-elasticsearch.cabalnew file+114

This diff is too big to show here.

test/golden-test-cases/katip-elasticsearch.nix.goldennew file+30

This diff is too big to show here.

test/golden-test-cases/katip.cabalnew file+151

This diff is too big to show here.

test/golden-test-cases/katip.nix.goldennew file+35

This diff is too big to show here.

test/golden-test-cases/katydid.cabalnew file+89

This diff is too big to show here.

test/golden-test-cases/katydid.nix.goldennew file+21

This diff is too big to show here.

test/golden-test-cases/kawhi.cabalnew file+66

This diff is too big to show here.

test/golden-test-cases/kawhi.nix.goldennew file+22

This diff is too big to show here.

test/golden-test-cases/kraken.cabalnew file+41

This diff is too big to show here.

test/golden-test-cases/kraken.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/l10n.cabalnew file+29

This diff is too big to show here.

test/golden-test-cases/l10n.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/lambdabot-social-plugins.cabalnew file+60

This diff is too big to show here.

test/golden-test-cases/lambdabot-social-plugins.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/lazy-csv.cabalnew file+36

This diff is too big to show here.

test/golden-test-cases/lazy-csv.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/lens-aeson.cabalnew file+80

This diff is too big to show here.

test/golden-test-cases/lens-aeson.nix.goldennew file+21

This diff is too big to show here.

test/golden-test-cases/lens.cabalnew file+503

This diff is too big to show here.

test/golden-test-cases/lens.nix.goldennew file+39

This diff is too big to show here.

test/golden-test-cases/libgit.cabalnew file+29

This diff is too big to show here.

test/golden-test-cases/libgit.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/librato.cabalnew file+52

This diff is too big to show here.

test/golden-test-cases/librato.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/lifted-async.cabalnew file+115

This diff is too big to show here.

test/golden-test-cases/lifted-async.nix.goldennew file+20

This diff is too big to show here.

test/golden-test-cases/lmdb.cabalnew file+51

This diff is too big to show here.

test/golden-test-cases/lmdb.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/logging-effect-extra-file.cabalnew file+63

This diff is too big to show here.

test/golden-test-cases/logging-effect-extra-file.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/lucid.cabalnew file+75

This diff is too big to show here.

test/golden-test-cases/lucid.nix.goldennew file+22

This diff is too big to show here.

test/golden-test-cases/mainland-pretty.cabalnew file+40

This diff is too big to show here.

test/golden-test-cases/mainland-pretty.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/matrices.cabalnew file+73

This diff is too big to show here.

test/golden-test-cases/matrices.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/median-stream.cabalnew file+38

This diff is too big to show here.

test/golden-test-cases/median-stream.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/megaparsec.cabalnew file+142

This diff is too big to show here.

test/golden-test-cases/megaparsec.nix.goldennew file+22

This diff is too big to show here.

test/golden-test-cases/mersenne-random.cabalnew file+111

This diff is too big to show here.

test/golden-test-cases/mersenne-random.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/messagepack.cabalnew file+48

This diff is too big to show here.

test/golden-test-cases/messagepack.nix.goldennew file+19

This diff is too big to show here.

test/golden-test-cases/microlens-ghc.cabalnew file+44

This diff is too big to show here.

test/golden-test-cases/microlens-ghc.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/microlens.cabalnew file+71

This diff is too big to show here.

test/golden-test-cases/microlens.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/minio-hs.cabalnew file+245

This diff is too big to show here.

test/golden-test-cases/minio-hs.nix.goldennew file+34

This diff is too big to show here.

test/golden-test-cases/mmorph.cabalnew file+28

This diff is too big to show here.

test/golden-test-cases/mmorph.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/mnist-idx.cabalnew file+83

This diff is too big to show here.

test/golden-test-cases/mnist-idx.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/mole.cabalnew file+98

This diff is too big to show here.

test/golden-test-cases/mole.nix.goldennew file+26

This diff is too big to show here.

test/golden-test-cases/monad-products.cabalnew file+30

This diff is too big to show here.

test/golden-test-cases/monad-products.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/monadcryptorandom.cabalnew file+41

This diff is too big to show here.

test/golden-test-cases/monadcryptorandom.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/monadloc.cabalnew file+43

This diff is too big to show here.

test/golden-test-cases/monadloc.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/mongoDB.cabalnew file+117

This diff is too big to show here.

test/golden-test-cases/mongoDB.nix.goldennew file+29

This diff is too big to show here.

test/golden-test-cases/monoid-extras.cabalnew file+57

This diff is too big to show here.

test/golden-test-cases/monoid-extras.nix.goldennew file+12

This diff is too big to show here.

test/golden-test-cases/mwc-random-monad.cabalnew file+41

This diff is too big to show here.

test/golden-test-cases/mwc-random-monad.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/mwc-random.cabalnew file+88

This diff is too big to show here.

test/golden-test-cases/mwc-random.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/nanospec.cabalnew file+45

This diff is too big to show here.

test/golden-test-cases/nanospec.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/netpbm.cabalnew file+166

This diff is too big to show here.

test/golden-test-cases/netpbm.nix.goldennew file+18

This diff is too big to show here.

test/golden-test-cases/network-protocol-xmpp.cabalnew file+57

This diff is too big to show here.

test/golden-test-cases/network-protocol-xmpp.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/network-transport-tcp.cabalnew file+93

This diff is too big to show here.

test/golden-test-cases/network-transport-tcp.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/nix-paths.cabalnew file+37

This diff is too big to show here.

test/golden-test-cases/nix-paths.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/nvim-hs.cabalnew file+201

This diff is too big to show here.

test/golden-test-cases/nvim-hs.nix.goldennew file+39

This diff is too big to show here.

test/golden-test-cases/once.cabalnew file+30

This diff is too big to show here.

test/golden-test-cases/once.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/one-liner.cabalnew file+50

This diff is too big to show here.

test/golden-test-cases/one-liner.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/online.cabalnew file+85

This diff is too big to show here.

test/golden-test-cases/online.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/opencv.cabalnew file+263

This diff is too big to show here.

test/golden-test-cases/opencv.nix.goldennew file+30

This diff is too big to show here.

test/golden-test-cases/openexr-write.cabalnew file+52

This diff is too big to show here.

test/golden-test-cases/openexr-write.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/openpgp-asciiarmor.cabalnew file+62

This diff is too big to show here.

test/golden-test-cases/openpgp-asciiarmor.nix.goldennew file+19

This diff is too big to show here.

test/golden-test-cases/pager.cabalnew file+69

This diff is too big to show here.

test/golden-test-cases/pager.nix.goldennew file+20

This diff is too big to show here.

test/golden-test-cases/partial-isomorphisms.cabalnew file+50

This diff is too big to show here.

test/golden-test-cases/partial-isomorphisms.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/partial-semigroup.cabalnew file+154

This diff is too big to show here.

test/golden-test-cases/partial-semigroup.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/pathtype.cabalnew file+150

This diff is too big to show here.

test/golden-test-cases/pathtype.nix.goldennew file+18

This diff is too big to show here.

test/golden-test-cases/pcap.cabalnew file+39

This diff is too big to show here.

test/golden-test-cases/pcap.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/pdfinfo.cabalnew file+30

This diff is too big to show here.

test/golden-test-cases/pdfinfo.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/pell.cabalnew file+54

This diff is too big to show here.

test/golden-test-cases/pell.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/persistable-types-HDBC-pg.cabalnew file+42

This diff is too big to show here.

test/golden-test-cases/persistable-types-HDBC-pg.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/persistent-mysql-haskell.cabalnew file+66

This diff is too big to show here.

test/golden-test-cases/persistent-mysql-haskell.nix.goldennew file+23

This diff is too big to show here.

test/golden-test-cases/picosat.cabalnew file+72

This diff is too big to show here.

test/golden-test-cases/picosat.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/pinch.cabalnew file+111

This diff is too big to show here.

test/golden-test-cases/pinch.nix.goldennew file+21

This diff is too big to show here.

test/golden-test-cases/pipes-network.cabalnew file+51

This diff is too big to show here.

test/golden-test-cases/pipes-network.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/pipes-safe.cabalnew file+52

This diff is too big to show here.

test/golden-test-cases/pipes-safe.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/pointed.cabalnew file+98

This diff is too big to show here.

test/golden-test-cases/pointed.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/poly-arity.cabalnew file+23

This diff is too big to show here.

test/golden-test-cases/poly-arity.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/polynomials-bernstein.cabalnew file+22

This diff is too big to show here.

test/golden-test-cases/polynomials-bernstein.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/postgresql-simple-url.cabalnew file+43

This diff is too big to show here.

test/golden-test-cases/postgresql-simple-url.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/prelude-safeenum.cabalnew file+59

This diff is too big to show here.

test/golden-test-cases/prelude-safeenum.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/presburger.cabalnew file+32

This diff is too big to show here.

test/golden-test-cases/presburger.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/prettyclass.cabalnew file+15

This diff is too big to show here.

test/golden-test-cases/prettyclass.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/prettyprinter-compat-ansi-wl-pprint.cabalnew file+36

This diff is too big to show here.

test/golden-test-cases/prettyprinter-compat-ansi-wl-pprint.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/prettyprinter-compat-wl-pprint.cabalnew file+35

This diff is too big to show here.

test/golden-test-cases/prettyprinter-compat-wl-pprint.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/primitive.cabalnew file+76

This diff is too big to show here.

test/golden-test-cases/primitive.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/product-profunctors.cabalnew file+53

This diff is too big to show here.

test/golden-test-cases/product-profunctors.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/profiterole.cabalnew file+44

This diff is too big to show here.

test/golden-test-cases/profiterole.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/projectroot.cabalnew file+43

This diff is too big to show here.

test/golden-test-cases/projectroot.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/proto-lens-optparse.cabalnew file+26

This diff is too big to show here.

test/golden-test-cases/proto-lens-optparse.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/proto-lens.cabalnew file+45

This diff is too big to show here.

test/golden-test-cases/proto-lens.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/psqueues.cabalnew file+156

This diff is too big to show here.

test/golden-test-cases/psqueues.nix.goldennew file+22

This diff is too big to show here.

test/golden-test-cases/pusher-http-haskell.cabalnew file+92

This diff is too big to show here.

test/golden-test-cases/pusher-http-haskell.nix.goldennew file+23

This diff is too big to show here.

test/golden-test-cases/quickcheck-arbitrary-adt.cabalnew file+40

This diff is too big to show here.

test/golden-test-cases/quickcheck-arbitrary-adt.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/quickcheck-combinators.cabalnew file+43

This diff is too big to show here.

test/golden-test-cases/quickcheck-combinators.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/rank1dynamic.cabalnew file+43

This diff is too big to show here.

test/golden-test-cases/rank1dynamic.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/rasterific-svg.cabalnew file+74

This diff is too big to show here.

test/golden-test-cases/rasterific-svg.nix.goldennew file+23

This diff is too big to show here.

test/golden-test-cases/ratio-int.cabalnew file+25

This diff is too big to show here.

test/golden-test-cases/ratio-int.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/rawstring-qm.cabalnew file+34

This diff is too big to show here.

test/golden-test-cases/rawstring-qm.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/reactive-banana.cabalnew file+88

This diff is too big to show here.

test/golden-test-cases/reactive-banana.nix.goldennew file+20

This diff is too big to show here.

test/golden-test-cases/readline.cabalnew file+33

This diff is too big to show here.

test/golden-test-cases/readline.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/rebase.cabalnew file+372

This diff is too big to show here.

test/golden-test-cases/rebase.nix.goldennew file+20

This diff is too big to show here.

test/golden-test-cases/reform-blaze.cabalnew file+29

This diff is too big to show here.

test/golden-test-cases/reform-blaze.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/reform-hsp.cabalnew file+28

This diff is too big to show here.

test/golden-test-cases/reform-hsp.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/regex-compat.cabalnew file+36

This diff is too big to show here.

test/golden-test-cases/regex-compat.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/regex-pcre.cabalnew file+68

This diff is too big to show here.

test/golden-test-cases/regex-pcre.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/relational-query.cabalnew file+171

This diff is too big to show here.

test/golden-test-cases/relational-query.nix.goldennew file+21

This diff is too big to show here.

test/golden-test-cases/relational-schemas.cabalnew file+100

This diff is too big to show here.

test/golden-test-cases/relational-schemas.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/repa-io.cabalnew file+40

This diff is too big to show here.

test/golden-test-cases/repa-io.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/repa.cabalnew file+98

This diff is too big to show here.

test/golden-test-cases/repa.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/rosezipper.cabalnew file+16

This diff is too big to show here.

test/golden-test-cases/rosezipper.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/rvar.cabalnew file+59

This diff is too big to show here.

test/golden-test-cases/rvar.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/scalpel-core.cabalnew file+87

This diff is too big to show here.

test/golden-test-cases/scalpel-core.nix.goldennew file+18

This diff is too big to show here.

test/golden-test-cases/sdl2.cabalnew file+452

This diff is too big to show here.

test/golden-test-cases/sdl2.nix.goldennew file+18

This diff is too big to show here.

test/golden-test-cases/selda-sqlite.cabalnew file+38

This diff is too big to show here.

test/golden-test-cases/selda-sqlite.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/selda.cabalnew file+110

This diff is too big to show here.

test/golden-test-cases/selda.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/servant-checked-exceptions.cabalnew file+145

This diff is too big to show here.

test/golden-test-cases/servant-checked-exceptions.nix.goldennew file+23

This diff is too big to show here.

test/golden-test-cases/set-cover.cabalnew file+253

This diff is too big to show here.

test/golden-test-cases/set-cover.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/sets.cabalnew file+85

This diff is too big to show here.

test/golden-test-cases/sets.nix.goldennew file+27

This diff is too big to show here.

test/golden-test-cases/simple-smt.cabalnew file+24

This diff is too big to show here.

test/golden-test-cases/simple-smt.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/slack-web.cabalnew file+97

This diff is too big to show here.

test/golden-test-cases/slack-web.nix.goldennew file+21

This diff is too big to show here.

test/golden-test-cases/slug.cabalnew file+65

This diff is too big to show here.

test/golden-test-cases/slug.nix.goldennew file+18

This diff is too big to show here.

test/golden-test-cases/soxlib.cabalnew file+70

This diff is too big to show here.

test/golden-test-cases/soxlib.nix.goldennew file+19

This diff is too big to show here.

test/golden-test-cases/speedy-slice.cabalnew file+80

This diff is too big to show here.

test/golden-test-cases/speedy-slice.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/splice.cabalnew file+66

This diff is too big to show here.

test/golden-test-cases/splice.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/spreadsheet.cabalnew file+108

This diff is too big to show here.

test/golden-test-cases/spreadsheet.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/stack-type.cabalnew file+25

This diff is too big to show here.

test/golden-test-cases/stack-type.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/state-codes.cabalnew file+60

This diff is too big to show here.

test/golden-test-cases/state-codes.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/stb-image-redux.cabalnew file+45

This diff is too big to show here.

test/golden-test-cases/stb-image-redux.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/stm-containers.cabalnew file+251

This diff is too big to show here.

test/golden-test-cases/stm-containers.nix.goldennew file+27

This diff is too big to show here.

test/golden-test-cases/streaming-commons.cabalnew file+161

This diff is too big to show here.

test/golden-test-cases/streaming-commons.nix.goldennew file+23

This diff is too big to show here.

test/golden-test-cases/strict-base-types.cabalnew file+130

This diff is too big to show here.

test/golden-test-cases/strict-base-types.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/strict-types.cabalnew file+34

This diff is too big to show here.

test/golden-test-cases/strict-types.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/string-class.cabalnew file+60

This diff is too big to show here.

test/golden-test-cases/string-class.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/stripe-haskell.cabalnew file+35

This diff is too big to show here.

test/golden-test-cases/stripe-haskell.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/svg-tree.cabalnew file+61

This diff is too big to show here.

test/golden-test-cases/svg-tree.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/swagger.cabalnew file+61

This diff is too big to show here.

test/golden-test-cases/swagger.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/system-argv0.cabalnew file+42

This diff is too big to show here.

test/golden-test-cases/system-argv0.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/system-fileio.cabalnew file+91

This diff is too big to show here.

test/golden-test-cases/system-fileio.nix.goldennew file+18

This diff is too big to show here.

test/golden-test-cases/system-filepath.cabalnew file+61

This diff is too big to show here.

test/golden-test-cases/system-filepath.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/tagged.cabalnew file+67

This diff is too big to show here.

test/golden-test-cases/tagged.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/taggy.cabalnew file+140

This diff is too big to show here.

test/golden-test-cases/taggy.nix.goldennew file+27

This diff is too big to show here.

test/golden-test-cases/tagstream-conduit.cabalnew file+62

This diff is too big to show here.

test/golden-test-cases/tagstream-conduit.nix.goldennew file+20

This diff is too big to show here.

test/golden-test-cases/tasty-hedgehog.cabalnew file+41

This diff is too big to show here.

test/golden-test-cases/tasty-hedgehog.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/tasty-rerun.cabalnew file+87

This diff is too big to show here.

test/golden-test-cases/tasty-rerun.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/tce-conf.cabalnew file+66

This diff is too big to show here.

test/golden-test-cases/tce-conf.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/terminal-progress-bar.cabalnew file+69

This diff is too big to show here.

test/golden-test-cases/terminal-progress-bar.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/test-fixture.cabalnew file+78

This diff is too big to show here.

test/golden-test-cases/test-fixture.nix.goldennew file+20

This diff is too big to show here.

test/golden-test-cases/texmath.cabalnew file+156

This diff is too big to show here.

test/golden-test-cases/texmath.nix.goldennew file+21

This diff is too big to show here.

test/golden-test-cases/text-icu.cabalnew file+118

This diff is too big to show here.

test/golden-test-cases/text-icu.nix.goldennew file+19

This diff is too big to show here.

test/golden-test-cases/text-postgresql.cabalnew file+50

This diff is too big to show here.

test/golden-test-cases/text-postgresql.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/th-expand-syns.cabalnew file+39

This diff is too big to show here.

test/golden-test-cases/th-expand-syns.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/these.cabalnew file+90

This diff is too big to show here.

test/golden-test-cases/these.nix.goldennew file+24

This diff is too big to show here.

test/golden-test-cases/timezone-series.cabalnew file+57

This diff is too big to show here.

test/golden-test-cases/timezone-series.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/transformers-compat.cabalnew file+99

This diff is too big to show here.

test/golden-test-cases/transformers-compat.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/transformers-lift.cabalnew file+36

This diff is too big to show here.

test/golden-test-cases/transformers-lift.nix.goldennew file+12

This diff is too big to show here.

test/golden-test-cases/tree-fun.cabalnew file+70

This diff is too big to show here.

test/golden-test-cases/tree-fun.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/ttrie.cabalnew file+68

This diff is too big to show here.

test/golden-test-cases/ttrie.nix.goldennew file+26

This diff is too big to show here.

test/golden-test-cases/tuple-th.cabalnew file+23

This diff is too big to show here.

test/golden-test-cases/tuple-th.nix.goldennew file+9

This diff is too big to show here.

test/golden-test-cases/tuples-homogenous-h98.cabalnew file+59

This diff is too big to show here.

test/golden-test-cases/tuples-homogenous-h98.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/turtle-options.cabalnew file+56

This diff is too big to show here.

test/golden-test-cases/turtle-options.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/type-operators.cabalnew file+26

This diff is too big to show here.

test/golden-test-cases/type-operators.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/type-spec.cabalnew file+102

This diff is too big to show here.

test/golden-test-cases/type-spec.nix.goldennew file+11

This diff is too big to show here.

test/golden-test-cases/unicode-show.cabalnew file+48

This diff is too big to show here.

test/golden-test-cases/unicode-show.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/unique.cabalnew file+31

This diff is too big to show here.

test/golden-test-cases/unique.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/unix-bytestring.cabalnew file+62

This diff is too big to show here.

test/golden-test-cases/unix-bytestring.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/unlit.cabalnew file+44

This diff is too big to show here.

test/golden-test-cases/unlit.nix.goldennew file+12

This diff is too big to show here.

test/golden-test-cases/utility-ht.cabalnew file+108

This diff is too big to show here.

test/golden-test-cases/utility-ht.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/validity-aeson.cabalnew file+33

This diff is too big to show here.

test/golden-test-cases/validity-aeson.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/validity-containers.cabalnew file+33

This diff is too big to show here.

test/golden-test-cases/validity-containers.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/vector-mmap.cabalnew file+33

This diff is too big to show here.

test/golden-test-cases/vector-mmap.nix.goldennew file+13

This diff is too big to show here.

test/golden-test-cases/vivid-supercollider.cabalnew file+69

This diff is too big to show here.

test/golden-test-cases/vivid-supercollider.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/vty.cabalnew file+624

This diff is too big to show here.

test/golden-test-cases/vty.nix.goldennew file+33

This diff is too big to show here.

test/golden-test-cases/wai-cors.cabalnew file+168

This diff is too big to show here.

test/golden-test-cases/wai-cors.nix.goldennew file+23

This diff is too big to show here.

test/golden-test-cases/wai-middleware-auth.cabalnew file+75

This diff is too big to show here.

test/golden-test-cases/wai-middleware-auth.nix.goldennew file+28

This diff is too big to show here.

test/golden-test-cases/wai-middleware-caching-redis.cabalnew file+40

This diff is too big to show here.

test/golden-test-cases/wai-middleware-caching-redis.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/wai-middleware-prometheus.cabalnew file+46

This diff is too big to show here.

test/golden-test-cases/wai-middleware-prometheus.nix.goldennew file+16

This diff is too big to show here.

test/golden-test-cases/warp.cabalnew file+208

This diff is too big to show here.

test/golden-test-cases/warp.nix.goldennew file+34

This diff is too big to show here.

test/golden-test-cases/weigh.cabalnew file+60

This diff is too big to show here.

test/golden-test-cases/weigh.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/xml-hamlet.cabalnew file+44

This diff is too big to show here.

test/golden-test-cases/xml-hamlet.nix.goldennew file+19

This diff is too big to show here.

test/golden-test-cases/xmonad-contrib.cabalnew file+338

This diff is too big to show here.

test/golden-test-cases/xmonad-contrib.nix.goldennew file+17

This diff is too big to show here.

test/golden-test-cases/yahoo-finance-api.cabalnew file+71

This diff is too big to show here.

test/golden-test-cases/yahoo-finance-api.nix.goldennew file+20

This diff is too big to show here.

test/golden-test-cases/yesod-form-bootstrap4.cabalnew file+31

This diff is too big to show here.

test/golden-test-cases/yesod-form-bootstrap4.nix.goldennew file+10

This diff is too big to show here.

test/golden-test-cases/yesod-gitrepo.cabalnew file+28

This diff is too big to show here.

test/golden-test-cases/yesod-gitrepo.nix.goldennew file+15

This diff is too big to show here.

test/golden-test-cases/yesod-recaptcha2.cabalnew file+37

This diff is too big to show here.

test/golden-test-cases/yesod-recaptcha2.nix.goldennew file+14

This diff is too big to show here.

test/golden-test-cases/zlib.cabalnew file+97

This diff is too big to show here.

test/golden-test-cases/zlib.nix.goldennew file+15

This diff is too big to show here.

update-hackage-snapshot.shnew file+19

This diff is too big to show here.

update-nixpkgs.sh+4−10

This diff is too big to show here.

update-stackage.sh+24−7

This diff is too big to show here.