summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2022-10-06 06:18:50 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2022-10-06 06:18:50 +0000
commit8cec7f664792c2c840c62c97223030ff4638c9f6 (patch)
tree72a4a414e1c9bef627cb89d4941e69b66730b4c8
parentMerge updates from master (diff)
parentnet-mail/list-remote-forwards: keyword 0.0.3 for ~riscv (diff)
downloadgentoo-8cec7f664792c2c840c62c97223030ff4638c9f6.tar.gz
gentoo-8cec7f664792c2c840c62c97223030ff4638c9f6.tar.bz2
gentoo-8cec7f664792c2c840c62c97223030ff4638c9f6.zip
Merge updates from master
-rw-r--r--app-admin/haskell-updater/haskell-updater-1.3.2-r1.ebuild2
-rw-r--r--app-portage/hackport/hackport-0.7.2.2.ebuild2
-rw-r--r--app-text/pandoc/pandoc-2.18-r2.ebuild2
-rw-r--r--dev-haskell/abstract-deque/abstract-deque-0.3.ebuild2
-rw-r--r--dev-haskell/abstract-par/abstract-par-0.3.3-r1.ebuild2
-rw-r--r--dev-haskell/adjunctions/adjunctions-4.4.ebuild2
-rw-r--r--dev-haskell/aeson-pretty/aeson-pretty-0.8.9.ebuild2
-rw-r--r--dev-haskell/aeson/aeson-2.0.3.0.ebuild2
-rw-r--r--dev-haskell/alex/alex-3.2.7.1.ebuild2
-rw-r--r--dev-haskell/alsa-core/alsa-core-0.5.0.1-r2.ebuild2
-rw-r--r--dev-haskell/alsa-mixer/alsa-mixer-0.3.0.ebuild2
-rw-r--r--dev-haskell/ansi-terminal/ansi-terminal-0.10.3.ebuild2
-rw-r--r--dev-haskell/ansi-wl-pprint/ansi-wl-pprint-0.6.9.ebuild2
-rw-r--r--dev-haskell/appar/appar-0.1.8.ebuild2
-rw-r--r--dev-haskell/asn1-encoding/asn1-encoding-0.9.6.ebuild2
-rw-r--r--dev-haskell/asn1-parse/asn1-parse-0.9.5.ebuild2
-rw-r--r--dev-haskell/asn1-types/asn1-types-0.3.3.ebuild2
-rw-r--r--dev-haskell/assoc/assoc-1.0.2.ebuild2
-rw-r--r--dev-haskell/async/async-2.2.4.ebuild2
-rw-r--r--dev-haskell/atomic-primops/atomic-primops-0.8.4.ebuild2
-rw-r--r--dev-haskell/attoparsec-iso8601/attoparsec-iso8601-1.0.2.1.ebuild2
-rw-r--r--dev-haskell/attoparsec/attoparsec-0.14.4.ebuild2
-rw-r--r--dev-haskell/auto-update/auto-update-0.1.6.ebuild2
-rw-r--r--dev-haskell/aws/aws-0.22-r5.ebuild2
-rw-r--r--dev-haskell/base-compat-batteries/base-compat-batteries-0.12.1.ebuild2
-rw-r--r--dev-haskell/base-compat/base-compat-0.12.1.ebuild2
-rw-r--r--dev-haskell/base-orphans/base-orphans-0.8.6.ebuild2
-rw-r--r--dev-haskell/base16-bytestring/base16-bytestring-0.1.1.7.ebuild2
-rw-r--r--dev-haskell/base64-bytestring/base64-bytestring-1.0.0.3.ebuild2
-rw-r--r--dev-haskell/basement/basement-0.0.12.ebuild2
-rw-r--r--dev-haskell/bencode/bencode-0.6.1.1.ebuild2
-rw-r--r--dev-haskell/bifunctors/bifunctors-5.5.11.ebuild2
-rw-r--r--dev-haskell/binary-orphans/binary-orphans-1.0.2.ebuild2
-rw-r--r--dev-haskell/binary/binary-0.8.8.0.ebuild2
-rw-r--r--dev-haskell/blaze-builder/blaze-builder-0.4.2.1.ebuild2
-rw-r--r--dev-haskell/blaze-html/blaze-html-0.9.1.2-r1.ebuild2
-rw-r--r--dev-haskell/blaze-markup/blaze-markup-0.8.2.8.ebuild2
-rw-r--r--dev-haskell/bloomfilter/bloomfilter-2.0.1.0.ebuild2
-rw-r--r--dev-haskell/bsb-http-chunked/bsb-http-chunked-0.0.0.4.ebuild2
-rw-r--r--dev-haskell/byteable/byteable-0.1.1.ebuild2
-rw-r--r--dev-haskell/byteorder/byteorder-1.0.4.ebuild2
-rw-r--r--dev-haskell/bytestring-builder/bytestring-builder-0.10.8.2.0.ebuild2
-rw-r--r--dev-haskell/c2hs/c2hs-0.28.8.ebuild2
-rw-r--r--dev-haskell/cabal-doctest/cabal-doctest-1.0.9.ebuild2
-rw-r--r--dev-haskell/cabal-install/cabal-install-3.4.1.0-r2.ebuild2
-rw-r--r--dev-haskell/cabal/cabal-3.4.1.0.ebuild2
-rw-r--r--dev-haskell/call-stack/call-stack-0.3.0.ebuild2
-rw-r--r--dev-haskell/case-insensitive/case-insensitive-1.2.1.0.ebuild2
-rw-r--r--dev-haskell/cassava/cassava-0.5.2.0-r1.ebuild2
-rw-r--r--dev-haskell/cereal/cereal-0.5.8.1.ebuild2
-rw-r--r--dev-haskell/charset/charset-0.3.7.1-r1.ebuild2
-rw-r--r--dev-haskell/chell/chell-0.4.0.2.ebuild2
-rw-r--r--dev-haskell/cipher-aes/cipher-aes-0.2.11.ebuild2
-rw-r--r--dev-haskell/citeproc/citeproc-0.7.ebuild2
-rw-r--r--dev-haskell/clientsession/clientsession-0.9.1.2.ebuild2
-rw-r--r--dev-haskell/clock/clock-0.7.2.ebuild2
-rw-r--r--dev-haskell/cmdargs/cmdargs-0.10.20.ebuild2
-rw-r--r--dev-haskell/code-page/code-page-0.1.3.ebuild2
-rw-r--r--dev-haskell/colour/colour-2.3.5.ebuild2
-rw-r--r--dev-haskell/commonmark-extensions/commonmark-extensions-0.2.3.2.ebuild2
-rw-r--r--dev-haskell/commonmark-pandoc/commonmark-pandoc-0.2.1.2.ebuild2
-rw-r--r--dev-haskell/commonmark/commonmark-0.2.2.ebuild2
-rw-r--r--dev-haskell/comonad/comonad-5.0.8.ebuild2
-rw-r--r--dev-haskell/concurrent-output/concurrent-output-1.10.11.ebuild2
-rw-r--r--dev-haskell/conduit-combinators/conduit-combinators-1.3.0.ebuild2
-rw-r--r--dev-haskell/conduit-extra/conduit-extra-1.3.4.ebuild2
-rw-r--r--dev-haskell/conduit/conduit-1.3.4.2.ebuild2
-rw-r--r--dev-haskell/configurator/configurator-0.3.0.0-r1.ebuild2
-rw-r--r--dev-haskell/connection/connection-0.3.1.ebuild2
-rw-r--r--dev-haskell/constraints/constraints-0.13.3.ebuild2
-rw-r--r--dev-haskell/contravariant/contravariant-1.5.3.ebuild2
-rw-r--r--dev-haskell/convertible/convertible-1.1.1.0.ebuild2
-rw-r--r--dev-haskell/cookie/cookie-0.4.4.ebuild2
-rw-r--r--dev-haskell/cprng-aes/cprng-aes-0.6.1.ebuild2
-rw-r--r--dev-haskell/criterion-measurement/criterion-measurement-0.1.2.0.ebuild2
-rw-r--r--dev-haskell/criterion/criterion-1.5.11.0.ebuild2
-rw-r--r--dev-haskell/crypto-api-tests/crypto-api-tests-0.3-r1.ebuild2
-rw-r--r--dev-haskell/crypto-api/crypto-api-0.13.3.ebuild2
-rw-r--r--dev-haskell/crypto-cipher-tests/crypto-cipher-tests-0.0.11-r1.ebuild2
-rw-r--r--dev-haskell/crypto-cipher-types/crypto-cipher-types-0.0.9.ebuild2
-rw-r--r--dev-haskell/crypto-random/crypto-random-0.0.9.ebuild2
-rw-r--r--dev-haskell/cryptohash-md5/cryptohash-md5-0.11.100.1.ebuild2
-rw-r--r--dev-haskell/cryptohash-sha1/cryptohash-sha1-0.11.100.1.ebuild2
-rw-r--r--dev-haskell/cryptohash-sha256/cryptohash-sha256-0.11.101.0.ebuild2
-rw-r--r--dev-haskell/cryptonite-conduit/cryptonite-conduit-0.2.2.ebuild2
-rw-r--r--dev-haskell/cryptonite/cryptonite-0.28.ebuild2
-rw-r--r--dev-haskell/css-text/css-text-0.1.3.0.ebuild2
-rw-r--r--dev-haskell/data-default-class/data-default-class-0.1.2.0.ebuild2
-rw-r--r--dev-haskell/data-default-instances-containers/data-default-instances-containers-0.0.1.ebuild2
-rw-r--r--dev-haskell/data-default-instances-dlist/data-default-instances-dlist-0.0.1.ebuild2
-rw-r--r--dev-haskell/data-default-instances-old-locale/data-default-instances-old-locale-0.0.1.ebuild2
-rw-r--r--dev-haskell/data-default/data-default-0.7.1.1.ebuild2
-rw-r--r--dev-haskell/data-fix/data-fix-0.3.2.ebuild2
-rw-r--r--dev-haskell/data-ordlist/data-ordlist-0.4.7.0.ebuild2
-rw-r--r--dev-haskell/dav/dav-1.3.4.ebuild2
-rw-r--r--dev-haskell/dbus/dbus-1.2.22.ebuild2
-rw-r--r--dev-haskell/dec/dec-0.0.3.ebuild2
-rw-r--r--dev-haskell/dense-linear-algebra/dense-linear-algebra-0.1.0.0.ebuild2
-rw-r--r--dev-haskell/deriving-compat/deriving-compat-0.6.ebuild2
-rw-r--r--dev-haskell/diff/diff-0.4.0.ebuild2
-rw-r--r--dev-haskell/digest/digest-0.0.1.2.ebuild2
-rw-r--r--dev-haskell/disk-free-space/disk-free-space-0.1.0.1.ebuild2
-rw-r--r--dev-haskell/distributive/distributive-0.6.2.1.ebuild2
-rw-r--r--dev-haskell/dlist/dlist-1.0.ebuild2
-rw-r--r--dev-haskell/dns/dns-4.0.1.ebuild2
-rw-r--r--dev-haskell/doclayout/doclayout-0.4.ebuild2
-rw-r--r--dev-haskell/doctemplates/doctemplates-0.10.0.2.ebuild2
-rw-r--r--dev-haskell/doctest/doctest-0.20.0.ebuild2
-rw-r--r--dev-haskell/easy-file/easy-file-0.2.2.ebuild2
-rw-r--r--dev-haskell/echo/echo-0.1.3.ebuild2
-rw-r--r--dev-haskell/ed25519/ed25519-0.0.5.0.ebuild2
-rw-r--r--dev-haskell/edit-distance/edit-distance-0.2.2.1-r1.ebuild2
-rw-r--r--dev-haskell/email-validate/email-validate-2.3.2.15.ebuild2
-rw-r--r--dev-haskell/emojis/emojis-0.1.2.ebuild2
-rw-r--r--dev-haskell/enclosed-exceptions/enclosed-exceptions-1.0.3.ebuild2
-rw-r--r--dev-haskell/entropy/entropy-0.4.1.6-r1.ebuild2
-rw-r--r--dev-haskell/erf/erf-2.0.0.0-r1.ebuild2
-rw-r--r--dev-haskell/errorcall-eq-instance/errorcall-eq-instance-0.3.0.ebuild2
-rw-r--r--dev-haskell/errors/errors-2.3.0.ebuild2
-rw-r--r--dev-haskell/exceptions/exceptions-0.10.4-r1.ebuild2
-rw-r--r--dev-haskell/extensible-exceptions/extensible-exceptions-0.1.1.4.ebuild2
-rw-r--r--dev-haskell/extra/extra-1.7.10.ebuild2
-rw-r--r--dev-haskell/fail/fail-4.9.0.0.ebuild2
-rw-r--r--dev-haskell/fast-logger/fast-logger-3.0.1.ebuild2
-rw-r--r--dev-haskell/fdo-notify/fdo-notify-0.3.1.ebuild2
-rw-r--r--dev-haskell/feed/feed-1.3.2.1.ebuild2
-rw-r--r--dev-haskell/fgl/fgl-5.7.0.3.ebuild2
-rw-r--r--dev-haskell/file-embed/file-embed-0.0.11.2.ebuild2
-rw-r--r--dev-haskell/filemanip/filemanip-0.3.6.3.ebuild2
-rw-r--r--dev-haskell/filepath-bytestring/filepath-bytestring-1.4.2.1.9.ebuild2
-rw-r--r--dev-haskell/findbin/findbin-0.0.5-r1.ebuild2
-rw-r--r--dev-haskell/fingertree/fingertree-0.1.4.2.ebuild2
-rw-r--r--dev-haskell/foldl/foldl-1.4.12-r1.ebuild2
-rw-r--r--dev-haskell/foundation/foundation-0.0.26.1.ebuild2
-rw-r--r--dev-haskell/free/free-5.1.9.ebuild2
-rw-r--r--dev-haskell/generic-deriving/generic-deriving-1.14.1.ebuild2
-rw-r--r--dev-haskell/generics-sop/generics-sop-0.5.1.1.ebuild2
-rw-r--r--dev-haskell/getopt-generics/getopt-generics-0.13.0.4.ebuild2
-rw-r--r--dev-haskell/ghc-byteorder/ghc-byteorder-4.11.0.0.10.ebuild2
-rw-r--r--dev-haskell/ghc-paths/ghc-paths-0.1.0.12-r1.ebuild2
-rw-r--r--dev-haskell/git-lfs/git-lfs-1.2.0.ebuild2
-rw-r--r--dev-haskell/glob/glob-0.10.2.ebuild2
-rw-r--r--dev-haskell/hackage-security/hackage-security-0.6.1.0.ebuild2
-rw-r--r--dev-haskell/haddock-library/haddock-library-1.10.0.ebuild2
-rw-r--r--dev-haskell/happy/happy-1.19.12.ebuild2
-rw-r--r--dev-haskell/hashable/hashable-1.4.0.2.ebuild2
-rw-r--r--dev-haskell/haskeline/haskeline-0.8.2.ebuild2
-rw-r--r--dev-haskell/haskell-lexer/haskell-lexer-1.1.ebuild2
-rw-r--r--dev-haskell/haskell-src-exts/haskell-src-exts-1.23.1.ebuild2
-rw-r--r--dev-haskell/hdbc-postgresql/hdbc-postgresql-2.5.0.0.ebuild2
-rw-r--r--dev-haskell/hdbc-sqlite3/hdbc-sqlite3-2.3.3.1-r1.ebuild2
-rw-r--r--dev-haskell/hdbc/hdbc-2.4.0.3.ebuild2
-rw-r--r--dev-haskell/hedgehog/hedgehog-1.0.5.ebuild2
-rw-r--r--dev-haskell/hinotify/hinotify-0.3.10.ebuild2
-rw-r--r--dev-haskell/hjsmin/hjsmin-0.2.0.4.ebuild2
-rw-r--r--dev-haskell/hostname/hostname-1.0-r1.ebuild2
-rw-r--r--dev-haskell/hourglass/hourglass-0.2.12.ebuild2
-rw-r--r--dev-haskell/hscolour/hscolour-1.24.4.ebuild2
-rw-r--r--dev-haskell/hslogger/hslogger-1.3.1.0-r2.ebuild2
-rw-r--r--dev-haskell/hslua-aeson/hslua-aeson-2.2.0.ebuild2
-rw-r--r--dev-haskell/hslua-classes/hslua-classes-2.2.0.ebuild2
-rw-r--r--dev-haskell/hslua-core/hslua-core-2.2.0.ebuild2
-rw-r--r--dev-haskell/hslua-marshalling/hslua-marshalling-2.2.0.ebuild2
-rw-r--r--dev-haskell/hslua-module-doclayout/hslua-module-doclayout-1.0.4.ebuild2
-rw-r--r--dev-haskell/hslua-module-path/hslua-module-path-1.0.2.ebuild2
-rw-r--r--dev-haskell/hslua-module-system/hslua-module-system-1.0.2.ebuild2
-rw-r--r--dev-haskell/hslua-module-text/hslua-module-text-1.0.2.ebuild2
-rw-r--r--dev-haskell/hslua-module-version/hslua-module-version-1.0.2.ebuild2
-rw-r--r--dev-haskell/hslua-objectorientation/hslua-objectorientation-2.2.0.ebuild2
-rw-r--r--dev-haskell/hslua-packaging/hslua-packaging-2.2.0.ebuild2
-rw-r--r--dev-haskell/hslua/hslua-2.2.0.ebuild2
-rw-r--r--dev-haskell/hspec-contrib/hspec-contrib-0.5.1.ebuild2
-rw-r--r--dev-haskell/hspec-core/hspec-core-2.9.4.ebuild2
-rw-r--r--dev-haskell/hspec-discover/hspec-discover-2.9.4.ebuild2
-rw-r--r--dev-haskell/hspec-expectations/hspec-expectations-0.8.2.ebuild2
-rw-r--r--dev-haskell/hspec-meta/hspec-meta-2.9.3.ebuild2
-rw-r--r--dev-haskell/hspec-wai/hspec-wai-0.10.1.ebuild2
-rw-r--r--dev-haskell/hspec/hspec-2.9.4.ebuild2
-rw-r--r--dev-haskell/hsyaml/hsyaml-0.2.1.0.ebuild2
-rw-r--r--dev-haskell/html-conduit/html-conduit-1.3.2.1.ebuild2
-rw-r--r--dev-haskell/html/html-1.0.1.2-r1.ebuild2
-rw-r--r--dev-haskell/http-api-data/http-api-data-0.4.3.ebuild2
-rw-r--r--dev-haskell/http-client-restricted/http-client-restricted-0.0.5.ebuild2
-rw-r--r--dev-haskell/http-client-tls/http-client-tls-0.3.6.1.ebuild2
-rw-r--r--dev-haskell/http-client/http-client-0.7.11.ebuild2
-rw-r--r--dev-haskell/http-conduit/http-conduit-2.3.8.ebuild2
-rw-r--r--dev-haskell/http-date/http-date-0.0.8.ebuild2
-rw-r--r--dev-haskell/http-media/http-media-0.8.0.0.ebuild2
-rw-r--r--dev-haskell/http-types/http-types-0.12.3.ebuild2
-rw-r--r--dev-haskell/http/http-4000.4.1.ebuild2
-rw-r--r--dev-haskell/http2/http2-3.0.1.ebuild2
-rw-r--r--dev-haskell/httpd-shed/httpd-shed-0.4.1.1-r1.ebuild2
-rw-r--r--dev-haskell/hunit/hunit-1.6.2.0.ebuild2
-rw-r--r--dev-haskell/ieee754/ieee754-0.7.8.ebuild2
-rw-r--r--dev-haskell/ifelse/ifelse-0.85-r1.ebuild2
-rw-r--r--dev-haskell/indexed-traversable-instances/indexed-traversable-instances-0.1.ebuild2
-rw-r--r--dev-haskell/indexed-traversable/indexed-traversable-0.1.2.ebuild2
-rw-r--r--dev-haskell/integer-logarithms/integer-logarithms-1.0.3.1-r1.ebuild2
-rw-r--r--dev-haskell/invariant/invariant-0.5.5.ebuild2
-rw-r--r--dev-haskell/iproute/iproute-1.7.8.ebuild2
-rw-r--r--dev-haskell/ipynb/ipynb-0.2.ebuild2
-rw-r--r--dev-haskell/jira-wiki-markup/jira-wiki-markup-1.4.0.ebuild2
-rw-r--r--dev-haskell/js-chart/js-chart-2.9.4.1.ebuild2
-rw-r--r--dev-haskell/juicypixels/juicypixels-3.3.5.ebuild2
-rw-r--r--dev-haskell/kan-extensions/kan-extensions-5.2.5.ebuild2
-rw-r--r--dev-haskell/language-c/language-c-0.8.3-r1.ebuild2
-rw-r--r--dev-haskell/language-haskell-extract/language-haskell-extract-0.2.4-r1.ebuild2
-rw-r--r--dev-haskell/language-javascript/language-javascript-0.6.0.14.ebuild2
-rw-r--r--dev-haskell/leancheck/leancheck-0.9.3.ebuild2
-rw-r--r--dev-haskell/lens/lens-5.1.1.ebuild2
-rw-r--r--dev-haskell/libmpd/libmpd-0.9.2.0.ebuild2
-rw-r--r--dev-haskell/libyaml/libyaml-0.1.2.ebuild2
-rw-r--r--dev-haskell/lift-type/lift-type-0.1.0.1.ebuild2
-rw-r--r--dev-haskell/lifted-async/lifted-async-0.10.2.ebuild2
-rw-r--r--dev-haskell/lifted-base/lifted-base-0.2.3.12.ebuild2
-rw-r--r--dev-haskell/logging-facade/logging-facade-0.3.0.ebuild2
-rw-r--r--dev-haskell/logict/logict-0.7.0.3.ebuild2
-rw-r--r--dev-haskell/lpeg/lpeg-1.0.3.ebuild2
-rw-r--r--dev-haskell/lua-arbitrary/lua-arbitrary-1.0.1.ebuild2
-rw-r--r--dev-haskell/lua/lua-2.2.0.ebuild2
-rw-r--r--dev-haskell/lukko/lukko-0.1.1.3.ebuild2
-rw-r--r--dev-haskell/magic/magic-1.1.ebuild2
-rw-r--r--dev-haskell/markdown-unlit/markdown-unlit-0.5.0.ebuild2
-rw-r--r--dev-haskell/math-functions/math-functions-0.3.3.0.ebuild2
-rw-r--r--dev-haskell/memory/memory-0.15.0-r1.ebuild2
-rw-r--r--dev-haskell/microlens-aeson/microlens-aeson-2.5.0.ebuild2
-rw-r--r--dev-haskell/microlens-mtl/microlens-mtl-0.2.0.1.ebuild2
-rw-r--r--dev-haskell/microlens-th/microlens-th-0.4.3.10.ebuild2
-rw-r--r--dev-haskell/microlens/microlens-0.4.11.2.ebuild2
-rw-r--r--dev-haskell/microstache/microstache-1.0.2.ebuild2
-rw-r--r--dev-haskell/mime-types/mime-types-0.1.0.9.ebuild2
-rw-r--r--dev-haskell/missingh/missingh-1.4.3.0-r1.ebuild2
-rw-r--r--dev-haskell/mmap/mmap-0.5.9.ebuild2
-rw-r--r--dev-haskell/mmorph/mmorph-1.1.3.ebuild2
-rw-r--r--dev-haskell/mockery/mockery-0.3.5.ebuild2
-rw-r--r--dev-haskell/monad-control/monad-control-1.0.2.3.ebuild2
-rw-r--r--dev-haskell/monad-logger/monad-logger-0.3.32.ebuild2
-rw-r--r--dev-haskell/monad-loops/monad-loops-0.4.3.ebuild2
-rw-r--r--dev-haskell/monad-par-extras/monad-par-extras-0.3.3-r1.ebuild2
-rw-r--r--dev-haskell/monad-par/monad-par-0.3.5-r1.ebuild2
-rw-r--r--dev-haskell/monads-tf/monads-tf-0.1.0.3.ebuild2
-rw-r--r--dev-haskell/mono-traversable/mono-traversable-1.0.15.1.ebuild2
-rw-r--r--dev-haskell/mountpoints/mountpoints-1.0.2.ebuild2
-rw-r--r--dev-haskell/mtl/mtl-2.2.2.ebuild2
-rw-r--r--dev-haskell/mwc-random/mwc-random-0.14.0.0.ebuild2
-rw-r--r--dev-haskell/nanospec/nanospec-0.2.2.ebuild2
-rw-r--r--dev-haskell/nats/nats-1.1.2-r1.ebuild2
-rw-r--r--dev-haskell/netlink/netlink-1.1.1.0-r1.ebuild2
-rw-r--r--dev-haskell/network-bsd/network-bsd-2.8.1.0-r1.ebuild2
-rw-r--r--dev-haskell/network-byte-order/network-byte-order-0.1.6.ebuild2
-rw-r--r--dev-haskell/network-info/network-info-0.2.0.10.ebuild2
-rw-r--r--dev-haskell/network-multicast/network-multicast-0.3.2.ebuild2
-rw-r--r--dev-haskell/network-uri/network-uri-2.6.4.1.ebuild2
-rw-r--r--dev-haskell/network/network-3.1.2.5.ebuild2
-rw-r--r--dev-haskell/old-locale/old-locale-1.0.0.7.ebuild2
-rw-r--r--dev-haskell/old-time/old-time-1.1.0.3-r1.ebuild2
-rw-r--r--dev-haskell/onetuple/onetuple-0.3.1.ebuild2
-rw-r--r--dev-haskell/only/only-0.1.ebuild2
-rw-r--r--dev-haskell/options/options-1.2.1.1.ebuild2
-rw-r--r--dev-haskell/optparse-applicative/optparse-applicative-0.16.1.0.ebuild2
-rw-r--r--dev-haskell/pandoc-lua-marshal/pandoc-lua-marshal-0.1.6.ebuild2
-rw-r--r--dev-haskell/pandoc-types/pandoc-types-1.22.2.ebuild2
-rw-r--r--dev-haskell/parallel-io/parallel-io-0.3.5.ebuild2
-rw-r--r--dev-haskell/parallel/parallel-3.2.2.0.ebuild2
-rw-r--r--dev-haskell/parsec-numbers/parsec-numbers-0.1.0.ebuild2
-rw-r--r--dev-haskell/parsec/parsec-3.1.14.0-r1.ebuild2
-rw-r--r--dev-haskell/parsec1/parsec1-1.0.0.7.ebuild2
-rw-r--r--dev-haskell/parsers/parsers-0.12.10-r1.ebuild2
-rw-r--r--dev-haskell/path-pieces/path-pieces-0.2.1.ebuild2
-rw-r--r--dev-haskell/patience/patience-0.1.1-r1.ebuild2
-rw-r--r--dev-haskell/pcre-light/pcre-light-0.4.1.0.ebuild2
-rw-r--r--dev-haskell/pem/pem-0.2.4.ebuild2
-rw-r--r--dev-haskell/persistent-sqlite/persistent-sqlite-2.13.1.0.ebuild2
-rw-r--r--dev-haskell/persistent-template/persistent-template-2.12.0.0.ebuild2
-rw-r--r--dev-haskell/persistent-test/persistent-test-2.13.1.3.ebuild2
-rw-r--r--dev-haskell/persistent/persistent-2.14.0.3.ebuild2
-rw-r--r--dev-haskell/pgp-wordlist/pgp-wordlist-0.1.0.3.ebuild2
-rw-r--r--dev-haskell/pretty-hex/pretty-hex-1.0.ebuild2
-rw-r--r--dev-haskell/pretty-show/pretty-show-1.10.ebuild2
-rw-r--r--dev-haskell/prettyprinter-ansi-terminal/prettyprinter-ansi-terminal-1.1.2.ebuild2
-rw-r--r--dev-haskell/prettyprinter/prettyprinter-1.7.0.ebuild2
-rw-r--r--dev-haskell/primitive-addr/primitive-addr-0.1.0.2.ebuild2
-rw-r--r--dev-haskell/primitive/primitive-0.7.3.0.ebuild2
-rw-r--r--dev-haskell/profunctors/profunctors-5.6.2.ebuild2
-rw-r--r--dev-haskell/psqueues/psqueues-0.2.7.3.ebuild2
-rw-r--r--dev-haskell/puremd5/puremd5-2.1.3.ebuild2
-rw-r--r--dev-haskell/quickcheck-classes-base/quickcheck-classes-base-0.6.2.0.ebuild2
-rw-r--r--dev-haskell/quickcheck-classes/quickcheck-classes-0.6.4.0.ebuild2
-rw-r--r--dev-haskell/quickcheck-instances/quickcheck-instances-0.3.27.ebuild2
-rw-r--r--dev-haskell/quickcheck-io/quickcheck-io-0.2.0.ebuild2
-rw-r--r--dev-haskell/quickcheck/quickcheck-2.14.2.ebuild2
-rw-r--r--dev-haskell/random/random-1.2.1.ebuild2
-rw-r--r--dev-haskell/raw-strings-qq/raw-strings-qq-1.1.ebuild2
-rw-r--r--dev-haskell/reducers/reducers-3.12.3-r1.ebuild2
-rw-r--r--dev-haskell/reflection/reflection-2.1.6.ebuild2
-rw-r--r--dev-haskell/regex-applicative/regex-applicative-0.3.3.1.ebuild2
-rw-r--r--dev-haskell/regex-base/regex-base-0.94.0.1.ebuild2
-rw-r--r--dev-haskell/regex-compat/regex-compat-0.95.2.1.ebuild2
-rw-r--r--dev-haskell/regex-posix/regex-posix-0.96.0.0.ebuild2
-rw-r--r--dev-haskell/regex-tdfa/regex-tdfa-1.3.2.ebuild2
-rw-r--r--dev-haskell/resolv/resolv-0.1.2.0-r1.ebuild2
-rw-r--r--dev-haskell/resource-pool/resource-pool-0.2.3.2.ebuild2
-rw-r--r--dev-haskell/resourcet/resourcet-1.2.4.2.ebuild2
-rw-r--r--dev-haskell/retry/retry-0.9.0.0.ebuild2
-rw-r--r--dev-haskell/rio/rio-0.1.21.0.ebuild2
-rw-r--r--dev-haskell/safe-exceptions/safe-exceptions-0.1.7.0.ebuild2
-rw-r--r--dev-haskell/safe/safe-0.3.19.ebuild2
-rw-r--r--dev-haskell/safesemaphore/safesemaphore-0.10.1.ebuild2
-rw-r--r--dev-haskell/sandi/sandi-0.5.ebuild2
-rw-r--r--dev-haskell/scientific/scientific-0.3.7.0-r1.ebuild2
-rw-r--r--dev-haskell/securemem/securemem-0.1.10.ebuild2
-rw-r--r--dev-haskell/semialign/semialign-1.2.0.1.ebuild2
-rw-r--r--dev-haskell/semigroupoids/semigroupoids-5.3.7-r1.ebuild2
-rw-r--r--dev-haskell/semigroups/semigroups-0.20.ebuild2
-rw-r--r--dev-haskell/semirings/semirings-0.6.ebuild2
-rw-r--r--dev-haskell/servant-server/servant-server-0.19.1.ebuild2
-rw-r--r--dev-haskell/servant/servant-0.19.ebuild2
-rw-r--r--dev-haskell/setenv/setenv-0.1.1.3.ebuild2
-rw-r--r--dev-haskell/setlocale/setlocale-1.0.0.9.ebuild2
-rw-r--r--dev-haskell/sha/sha-1.6.4.4.ebuild2
-rw-r--r--dev-haskell/shakespeare/shakespeare-2.0.30.ebuild2
-rw-r--r--dev-haskell/shelly/shelly-1.9.0.ebuild2
-rw-r--r--dev-haskell/should-not-typecheck/should-not-typecheck-2.1.0.ebuild2
-rw-r--r--dev-haskell/silently/silently-1.2.5.1.ebuild2
-rw-r--r--dev-haskell/simple-reflect/simple-reflect-0.3.3.ebuild2
-rw-r--r--dev-haskell/simple-sendfile/simple-sendfile-0.2.28.ebuild2
-rw-r--r--dev-haskell/singleton-bool/singleton-bool-0.1.5-r1.ebuild2
-rw-r--r--dev-haskell/skein/skein-1.0.9.4.ebuild2
-rw-r--r--dev-haskell/skylighting-core/files/skylighting-increase-timeouts.patch39
-rw-r--r--dev-haskell/skylighting-core/skylighting-core-0.12.3.1.ebuild3
-rw-r--r--dev-haskell/skylighting/skylighting-0.12.3.1.ebuild2
-rw-r--r--dev-haskell/smallcheck/smallcheck-1.2.0.ebuild2
-rw-r--r--dev-haskell/socks/socks-0.6.1.ebuild2
-rw-r--r--dev-haskell/sop-core/sop-core-0.5.0.2.ebuild2
-rw-r--r--dev-haskell/split/split-0.2.3.4.ebuild2
-rw-r--r--dev-haskell/splitmix/splitmix-0.1.0.3.ebuild2
-rw-r--r--dev-haskell/statevar/statevar-1.2.1.ebuild2
-rw-r--r--dev-haskell/statistics/statistics-0.15.2.0.ebuild2
-rw-r--r--dev-haskell/stm-chans/stm-chans-3.0.0.4.ebuild2
-rw-r--r--dev-haskell/stm/stm-2.5.0.1.ebuild2
-rw-r--r--dev-haskell/streaming-commons/streaming-commons-0.2.2.4.ebuild2
-rw-r--r--dev-haskell/strict/strict-0.4.0.1.ebuild2
-rw-r--r--dev-haskell/string-conversions/string-conversions-0.4.0.1.ebuild2
-rw-r--r--dev-haskell/string-qq/string-qq-0.0.4.ebuild2
-rw-r--r--dev-haskell/stringbuilder/stringbuilder-0.5.1.ebuild2
-rw-r--r--dev-haskell/syb/syb-0.7.2.1.ebuild2
-rw-r--r--dev-haskell/system-fileio/system-fileio-0.3.16.4.ebuild2
-rw-r--r--dev-haskell/system-filepath/system-filepath-0.4.14-r1.ebuild2
-rw-r--r--dev-haskell/tagged/tagged-0.8.6.1.ebuild2
-rw-r--r--dev-haskell/tagsoup/tagsoup-0.14.8.ebuild2
-rw-r--r--dev-haskell/tar/tar-0.5.1.1-r2.ebuild2
-rw-r--r--dev-haskell/tasty-expected-failure/tasty-expected-failure-0.11.1.2.ebuild2
-rw-r--r--dev-haskell/tasty-golden/tasty-golden-2.3.1.1.ebuild2
-rw-r--r--dev-haskell/tasty-hedgehog/tasty-hedgehog-1.1.0.0.ebuild2
-rw-r--r--dev-haskell/tasty-hslua/tasty-hslua-1.0.2.ebuild2
-rw-r--r--dev-haskell/tasty-hunit/tasty-hunit-0.10.0.3.ebuild2
-rw-r--r--dev-haskell/tasty-kat/tasty-kat-0.0.3.ebuild2
-rw-r--r--dev-haskell/tasty-lua/tasty-lua-1.0.2.ebuild2
-rw-r--r--dev-haskell/tasty-quickcheck/tasty-quickcheck-0.10.1.1.ebuild2
-rw-r--r--dev-haskell/tasty-rerun/tasty-rerun-1.1.18.ebuild2
-rw-r--r--dev-haskell/tasty-smallcheck/tasty-smallcheck-0.8.1.ebuild2
-rw-r--r--dev-haskell/tasty-th/tasty-th-0.1.7.ebuild2
-rw-r--r--dev-haskell/tasty/tasty-1.4.2.3.ebuild2
-rw-r--r--dev-haskell/temporary-rc/temporary-rc-1.2.0.3.ebuild2
-rw-r--r--dev-haskell/temporary/temporary-1.3.ebuild2
-rw-r--r--dev-haskell/terminal-size/terminal-size-0.3.2.1.ebuild2
-rw-r--r--dev-haskell/terminfo/terminfo-0.4.1.5.ebuild2
-rw-r--r--dev-haskell/test-framework-hunit/test-framework-hunit-0.3.0.2-r1.ebuild2
-rw-r--r--dev-haskell/test-framework-leancheck/test-framework-leancheck-0.0.1.ebuild2
-rw-r--r--dev-haskell/test-framework-quickcheck2/test-framework-quickcheck2-0.3.0.5-r2.ebuild2
-rw-r--r--dev-haskell/test-framework-th/test-framework-th-0.2.4.ebuild2
-rw-r--r--dev-haskell/test-framework/test-framework-0.8.2.0-r3.ebuild2
-rw-r--r--dev-haskell/texmath/texmath-0.12.5.1.ebuild2
-rw-r--r--dev-haskell/text-conversions/text-conversions-0.3.1.ebuild2
-rw-r--r--dev-haskell/text-icu/text-icu-0.7.1.0.ebuild2
-rw-r--r--dev-haskell/text-short/text-short-0.1.5.ebuild2
-rw-r--r--dev-haskell/text-show/text-show-3.9.7.ebuild2
-rw-r--r--dev-haskell/text/text-1.2.5.0.ebuild2
-rw-r--r--dev-haskell/tf-random/tf-random-0.5.ebuild2
-rw-r--r--dev-haskell/th-abstraction/th-abstraction-0.4.3.0.ebuild2
-rw-r--r--dev-haskell/th-compat/th-compat-0.1.3.ebuild2
-rw-r--r--dev-haskell/th-lift-instances/th-lift-instances-0.1.19.ebuild2
-rw-r--r--dev-haskell/th-lift/th-lift-0.8.2.ebuild2
-rw-r--r--dev-haskell/these/these-1.1.1.1.ebuild2
-rw-r--r--dev-haskell/time-compat/files/fix-resolution-test.patch49
-rw-r--r--dev-haskell/time-compat/time-compat-1.9.6.1.ebuild4
-rw-r--r--dev-haskell/time-locale-compat/time-locale-compat-0.1.1.5.ebuild2
-rw-r--r--dev-haskell/time-manager/time-manager-0.0.0.ebuild2
-rw-r--r--dev-haskell/timeit/timeit-2.0.ebuild2
-rw-r--r--dev-haskell/timezone-olson/timezone-olson-0.2.0.ebuild2
-rw-r--r--dev-haskell/timezone-series/timezone-series-0.1.9.ebuild2
-rw-r--r--dev-haskell/tls-session-manager/tls-session-manager-0.0.4.ebuild2
-rw-r--r--dev-haskell/tls/tls-1.5.8.ebuild2
-rw-r--r--dev-haskell/torrent/torrent-10000.1.1.ebuild2
-rw-r--r--dev-haskell/transformers-base/transformers-base-0.4.5.2.ebuild2
-rw-r--r--dev-haskell/transformers-compat/transformers-compat-0.6.6.ebuild2
-rw-r--r--dev-haskell/transformers/transformers-0.5.6.2.ebuild2
-rw-r--r--dev-haskell/tree-diff/tree-diff-0.2.1.1.ebuild2
-rw-r--r--dev-haskell/trifecta/trifecta-2.1.2.ebuild2
-rw-r--r--dev-haskell/type-equality/type-equality-1.ebuild2
-rw-r--r--dev-haskell/typed-process/typed-process-0.2.6.0.ebuild2
-rw-r--r--dev-haskell/unbounded-delays/unbounded-delays-0.1.1.0.ebuild2
-rw-r--r--dev-haskell/unicode-collation/unicode-collation-0.1.3.1.ebuild2
-rw-r--r--dev-haskell/unicode-data/unicode-data-0.3.0.ebuild2
-rw-r--r--dev-haskell/unicode-transforms/unicode-transforms-0.3.7.1-r1.ebuild2
-rw-r--r--dev-haskell/uniplate/uniplate-1.6.13.ebuild2
-rw-r--r--dev-haskell/unix-compat/unix-compat-0.5.2.ebuild2
-rw-r--r--dev-haskell/unix-time/unix-time-0.4.7.ebuild2
-rw-r--r--dev-haskell/unliftio-core/unliftio-core-0.1.2.0.ebuild2
-rw-r--r--dev-haskell/unliftio/unliftio-0.2.18.ebuild2
-rw-r--r--dev-haskell/unordered-containers/unordered-containers-0.2.17.0.ebuild2
-rw-r--r--dev-haskell/utf8-light/utf8-light-0.4.2.ebuild2
-rw-r--r--dev-haskell/utf8-string/utf8-string-1.0.1.1.ebuild2
-rw-r--r--dev-haskell/uuid-types/uuid-types-1.0.5.ebuild2
-rw-r--r--dev-haskell/uuid/uuid-1.3.15.ebuild2
-rw-r--r--dev-haskell/vault/vault-0.3.1.5.ebuild2
-rw-r--r--dev-haskell/vector-algorithms/vector-algorithms-0.8.0.4.ebuild2
-rw-r--r--dev-haskell/vector-binary-instances/vector-binary-instances-0.2.5.1.ebuild2
-rw-r--r--dev-haskell/vector-th-unbox/vector-th-unbox-0.2.1.7.ebuild2
-rw-r--r--dev-haskell/vector/vector-0.12.3.1.ebuild2
-rw-r--r--dev-haskell/void/void-0.7.3.ebuild2
-rw-r--r--dev-haskell/wai-app-static/wai-app-static-3.1.7.2-r1.ebuild2
-rw-r--r--dev-haskell/wai-extra/wai-extra-3.1.4.1.ebuild2
-rw-r--r--dev-haskell/wai-logger/wai-logger-2.3.6.ebuild2
-rw-r--r--dev-haskell/wai/wai-3.2.3.ebuild2
-rw-r--r--dev-haskell/warp-tls/warp-tls-3.2.12.ebuild2
-rw-r--r--dev-haskell/warp/warp-3.3.21.ebuild2
-rw-r--r--dev-haskell/wcwidth/wcwidth-0.0.2.ebuild2
-rw-r--r--dev-haskell/witherable/witherable-0.4.2.ebuild2
-rw-r--r--dev-haskell/wl-pprint-annotated/wl-pprint-annotated-0.1.0.1.ebuild2
-rw-r--r--dev-haskell/word8/word8-0.1.3.ebuild2
-rw-r--r--dev-haskell/x11-xft/x11-xft-0.3.4.ebuild2
-rw-r--r--dev-haskell/x11/x11-1.10.2.ebuild2
-rw-r--r--dev-haskell/x509-store/x509-store-1.6.7.ebuild2
-rw-r--r--dev-haskell/x509-system/x509-system-1.6.6.ebuild2
-rw-r--r--dev-haskell/x509-validation/x509-validation-1.6.11.ebuild2
-rw-r--r--dev-haskell/x509/x509-1.7.5.ebuild2
-rw-r--r--dev-haskell/xml-conduit/xml-conduit-1.9.1.1.ebuild2
-rw-r--r--dev-haskell/xml-hamlet/xml-hamlet-0.5.0.1.ebuild2
-rw-r--r--dev-haskell/xml-types/xml-types-0.3.8.ebuild2
-rw-r--r--dev-haskell/xml/xml-1.3.14.ebuild2
-rw-r--r--dev-haskell/xss-sanitize/xss-sanitize-0.3.6.ebuild2
-rw-r--r--dev-haskell/yaml/yaml-0.11.8.0.ebuild2
-rw-r--r--dev-haskell/yesod-core/yesod-core-1.6.23.1.ebuild2
-rw-r--r--dev-haskell/yesod-form/yesod-form-1.7.0.ebuild2
-rw-r--r--dev-haskell/yesod-persistent/yesod-persistent-1.6.0.8.ebuild2
-rw-r--r--dev-haskell/yesod-static/yesod-static-1.6.1.0.ebuild2
-rw-r--r--dev-haskell/yesod-test/yesod-test-1.6.12.ebuild2
-rw-r--r--dev-haskell/yesod/yesod-1.6.2.ebuild2
-rw-r--r--dev-haskell/zip-archive/zip-archive-0.4.1.ebuild2
-rw-r--r--dev-haskell/zlib/zlib-0.6.2.3.ebuild2
-rw-r--r--dev-lang/ghc/Manifest1
-rw-r--r--dev-lang/ghc/files/ghc-9.0.2-riscv64-llvm.patch799
-rw-r--r--dev-lang/ghc/files/latomic-subword87
-rw-r--r--dev-lang/ghc/ghc-9.0.2.ebuild13
-rw-r--r--dev-lang/ghc/metadata.xml1
-rw-r--r--dev-perl/CGI-FormBuilder/CGI-FormBuilder-3.100.0-r1.ebuild2
-rw-r--r--dev-perl/CGI-Session/CGI-Session-4.480.0-r3.ebuild2
-rw-r--r--dev-perl/CGI-Simple/CGI-Simple-1.250.0.ebuild2
-rw-r--r--dev-perl/Class-ErrorHandler/Class-ErrorHandler-0.40.0-r1.ebuild2
-rw-r--r--dev-perl/Crypt-DH-GMP/Crypt-DH-GMP-0.0.120-r1.ebuild2
-rw-r--r--dev-perl/Feed-Find/Feed-Find-0.120.0.ebuild2
-rw-r--r--dev-perl/File-ReadBackwards/File-ReadBackwards-1.60.0.ebuild2
-rw-r--r--dev-perl/HTML-LinkExtractor/HTML-LinkExtractor-0.130.0-r3.ebuild2
-rw-r--r--dev-perl/HTML-Scrubber/HTML-Scrubber-0.190.0.ebuild2
-rw-r--r--dev-perl/LWP-Authen-Wsse/LWP-Authen-Wsse-0.50.0-r2.ebuild2
-rw-r--r--dev-perl/LWPx-ParanoidAgent/LWPx-ParanoidAgent-1.120.0-r1.ebuild2
-rw-r--r--dev-perl/Mail-Sendmail/Mail-Sendmail-0.800.0-r1.ebuild2
-rw-r--r--dev-perl/Net-OpenID-Common/Net-OpenID-Common-1.200.0-r1.ebuild2
-rw-r--r--dev-perl/Net-OpenID-Consumer/Net-OpenID-Consumer-1.180.0-r1.ebuild2
-rw-r--r--dev-perl/RPC-XML/RPC-XML-0.820.0.ebuild2
-rw-r--r--dev-perl/URI-Fetch/URI-Fetch-0.150.0.ebuild2
-rw-r--r--dev-perl/XML-Atom/XML-Atom-0.430.0.ebuild2
-rw-r--r--dev-perl/XML-Feed/XML-Feed-0.630.0.ebuild2
-rw-r--r--dev-perl/XML-RSS-LibXML/XML-RSS-LibXML-0.310.500-r1.ebuild2
-rw-r--r--dev-util/shellcheck/shellcheck-0.8.0.ebuild2
-rw-r--r--dev-util/shelltestrunner/shelltestrunner-1.9.ebuild2
-rw-r--r--dev-vcs/darcs/darcs-2.16.5-r2.ebuild2
-rw-r--r--dev-vcs/git-annex/git-annex-10.20220624.ebuild2
-rw-r--r--net-mail/list-remote-forwards/list-remote-forwards-0.0.3.ebuild2
-rw-r--r--net-mail/mailbox-count/mailbox-count-0.0.6.ebuild2
-rw-r--r--net-misc/haeredes/haeredes-0.5.3.ebuild2
-rw-r--r--net-misc/hath/hath-0.5.7.ebuild2
-rw-r--r--profiles/arch/riscv/package.use.force8
-rw-r--r--www-apps/ikiwiki/ikiwiki-3.20200202.3-r1.ebuild2
-rw-r--r--x11-misc/xmobar/xmobar-0.44.1.ebuild2
-rw-r--r--x11-wm/xmonad-contrib/xmonad-contrib-0.17.0.ebuild2
-rw-r--r--x11-wm/xmonad/xmonad-0.17.0.ebuild2
488 files changed, 1475 insertions, 485 deletions
diff --git a/app-admin/haskell-updater/haskell-updater-1.3.2-r1.ebuild b/app-admin/haskell-updater/haskell-updater-1.3.2-r1.ebuild
index a39733bcf46d..b52c2d17eb3b 100644
--- a/app-admin/haskell-updater/haskell-updater-1.3.2-r1.ebuild
+++ b/app-admin/haskell-updater/haskell-updater-1.3.2-r1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
DEPEND=">=dev-lang/ghc-6.12.1:="
diff --git a/app-portage/hackport/hackport-0.7.2.2.ebuild b/app-portage/hackport/hackport-0.7.2.2.ebuild
index 1a42e66aeff1..ce0308e3b0b5 100644
--- a/app-portage/hackport/hackport-0.7.2.2.ebuild
+++ b/app-portage/hackport/hackport-0.7.2.2.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://hackage.haskell.org/package/hackport"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/async-2.0:=
>=dev-haskell/base16-bytestring-0.1.1:=
diff --git a/app-text/pandoc/pandoc-2.18-r2.ebuild b/app-text/pandoc/pandoc-2.18-r2.ebuild
index 1aecc7c3ec57..a50d80c03598 100644
--- a/app-text/pandoc/pandoc-2.18-r2.ebuild
+++ b/app-text/pandoc/pandoc-2.18-r2.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="embed-data-files trypandoc"
RDEPEND=">=dev-haskell/aeson-0.7:=[profile?] <dev-haskell/aeson-2.1:=[profile?]
diff --git a/dev-haskell/abstract-deque/abstract-deque-0.3.ebuild b/dev-haskell/abstract-deque/abstract-deque-0.3.ebuild
index 4960841f5fc5..eb3f1313f335 100644
--- a/dev-haskell/abstract-deque/abstract-deque-0.3.ebuild
+++ b/dev-haskell/abstract-deque/abstract-deque-0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="usecas"
RDEPEND="dev-haskell/random:=[profile?]
diff --git a/dev-haskell/abstract-par/abstract-par-0.3.3-r1.ebuild b/dev-haskell/abstract-par/abstract-par-0.3.3-r1.ebuild
index 2c8785b6f896..923a169a3948 100644
--- a/dev-haskell/abstract-par/abstract-par-0.3.3-r1.ebuild
+++ b/dev-haskell/abstract-par/abstract-par-0.3.3-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/adjunctions/adjunctions-4.4.ebuild b/dev-haskell/adjunctions/adjunctions-4.4.ebuild
index 0ef630356873..ebdd802ece98 100644
--- a/dev-haskell/adjunctions/adjunctions-4.4.ebuild
+++ b/dev-haskell/adjunctions/adjunctions-4.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/comonad-4:=[profile?] <dev-haskell/comonad-6:=[profile?]
diff --git a/dev-haskell/aeson-pretty/aeson-pretty-0.8.9.ebuild b/dev-haskell/aeson-pretty/aeson-pretty-0.8.9.ebuild
index 811e0a7d9413..61f33af64306 100644
--- a/dev-haskell/aeson-pretty/aeson-pretty-0.8.9.ebuild
+++ b/dev-haskell/aeson-pretty/aeson-pretty-0.8.9.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="lib-only"
RDEPEND=">=dev-haskell/base-compat-0.9:=[profile?]
diff --git a/dev-haskell/aeson/aeson-2.0.3.0.ebuild b/dev-haskell/aeson/aeson-2.0.3.0.ebuild
index f0dce2ddff65..435cab972cb8 100644
--- a/dev-haskell/aeson/aeson-2.0.3.0.ebuild
+++ b/dev-haskell/aeson/aeson-2.0.3.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://github.com/haskell/aeson"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="cffi +ordered-keymap"
RDEPEND=">=dev-haskell/attoparsec-0.14.2:=[profile?] <dev-haskell/attoparsec-0.15:=[profile?]
diff --git a/dev-haskell/alex/alex-3.2.7.1.ebuild b/dev-haskell/alex/alex-3.2.7.1.ebuild
index 2497b2c9ef9e..686c4aec1f03 100644
--- a/dev-haskell/alex/alex-3.2.7.1.ebuild
+++ b/dev-haskell/alex/alex-3.2.7.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="doc"
RDEPEND=">=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/alsa-core/alsa-core-0.5.0.1-r2.ebuild b/dev-haskell/alsa-core/alsa-core-0.5.0.1-r2.ebuild
index e8b5f11277e2..0ae695dc77ab 100644
--- a/dev-haskell/alsa-core/alsa-core-0.5.0.1-r2.ebuild
+++ b/dev-haskell/alsa-core/alsa-core-0.5.0.1-r2.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/extensible-exceptions-0.1.1:=[profile?] <dev-haskell/extensible-exceptions-0.2:=[profile?]
diff --git a/dev-haskell/alsa-mixer/alsa-mixer-0.3.0.ebuild b/dev-haskell/alsa-mixer/alsa-mixer-0.3.0.ebuild
index cd9e6220451e..ef6b2f437e4f 100644
--- a/dev-haskell/alsa-mixer/alsa-mixer-0.3.0.ebuild
+++ b/dev-haskell/alsa-mixer/alsa-mixer-0.3.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/alsa-core-0.5:=[profile?] <dev-haskell/alsa-core-0.6:=[profile?]
diff --git a/dev-haskell/ansi-terminal/ansi-terminal-0.10.3.ebuild b/dev-haskell/ansi-terminal/ansi-terminal-0.10.3.ebuild
index ff4af33dff7d..495548ee0b52 100644
--- a/dev-haskell/ansi-terminal/ansi-terminal-0.10.3.ebuild
+++ b/dev-haskell/ansi-terminal/ansi-terminal-0.10.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="example"
RDEPEND=">=dev-haskell/colour-2.1.0:=[profile?]
diff --git a/dev-haskell/ansi-wl-pprint/ansi-wl-pprint-0.6.9.ebuild b/dev-haskell/ansi-wl-pprint/ansi-wl-pprint-0.6.9.ebuild
index a0c8389c6bf2..0080f7dda417 100644
--- a/dev-haskell/ansi-wl-pprint/ansi-wl-pprint-0.6.9.ebuild
+++ b/dev-haskell/ansi-wl-pprint/ansi-wl-pprint-0.6.9.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
-> ${CABAL_DISTFILE}"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="examples"
RDEPEND=">=dev-haskell/ansi-terminal-0.9.1:=[profile?] <dev-haskell/ansi-terminal-0.12:=[profile?]
diff --git a/dev-haskell/appar/appar-0.1.8.ebuild b/dev-haskell/appar/appar-0.1.8.ebuild
index e06787c1c1e4..ead22e56758e 100644
--- a/dev-haskell/appar/appar-0.1.8.ebuild
+++ b/dev-haskell/appar/appar-0.1.8.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/fail-4.9:=[profile?] <dev-haskell/fail-4.10:=[profile?]
diff --git a/dev-haskell/asn1-encoding/asn1-encoding-0.9.6.ebuild b/dev-haskell/asn1-encoding/asn1-encoding-0.9.6.ebuild
index cb8910aa1f11..ea151213f5d9 100644
--- a/dev-haskell/asn1-encoding/asn1-encoding-0.9.6.ebuild
+++ b/dev-haskell/asn1-encoding/asn1-encoding-0.9.6.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/asn1-types-0.3.0:=[profile?] <dev-haskell/asn1-types-0.4:=[profile?]
diff --git a/dev-haskell/asn1-parse/asn1-parse-0.9.5.ebuild b/dev-haskell/asn1-parse/asn1-parse-0.9.5.ebuild
index 65d74545a351..93ffb11f816d 100644
--- a/dev-haskell/asn1-parse/asn1-parse-0.9.5.ebuild
+++ b/dev-haskell/asn1-parse/asn1-parse-0.9.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/asn1-encoding-0.9:=[profile?]
diff --git a/dev-haskell/asn1-types/asn1-types-0.3.3.ebuild b/dev-haskell/asn1-types/asn1-types-0.3.3.ebuild
index e8272ab94d3a..ed0675737c38 100644
--- a/dev-haskell/asn1-types/asn1-types-0.3.3.ebuild
+++ b/dev-haskell/asn1-types/asn1-types-0.3.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/hourglass:=[profile?]
diff --git a/dev-haskell/assoc/assoc-1.0.2.ebuild b/dev-haskell/assoc/assoc-1.0.2.ebuild
index c362c52c4888..6c5d944c4dd8 100644
--- a/dev-haskell/assoc/assoc-1.0.2.ebuild
+++ b/dev-haskell/assoc/assoc-1.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/bifunctors-5.5.5:=[profile?] <dev-haskell/bifunctors-5.6:=[profile?]
diff --git a/dev-haskell/async/async-2.2.4.ebuild b/dev-haskell/async/async-2.2.4.ebuild
index a4b548af70c0..46313d715ede 100644
--- a/dev-haskell/async/async-2.2.4.ebuild
+++ b/dev-haskell/async/async-2.2.4.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hashable-1.1.2.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
>=dev-haskell/stm-2.2:=[profile?] <dev-haskell/stm-2.6:=[profile?]
diff --git a/dev-haskell/atomic-primops/atomic-primops-0.8.4.ebuild b/dev-haskell/atomic-primops/atomic-primops-0.8.4.ebuild
index ec861b59285d..50bcc3818896 100644
--- a/dev-haskell/atomic-primops/atomic-primops-0.8.4.ebuild
+++ b/dev-haskell/atomic-primops/atomic-primops-0.8.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="debug"
RDEPEND="dev-haskell/primitive:=[profile?]
diff --git a/dev-haskell/attoparsec-iso8601/attoparsec-iso8601-1.0.2.1.ebuild b/dev-haskell/attoparsec-iso8601/attoparsec-iso8601-1.0.2.1.ebuild
index 033d763dc25d..4faa89862ebd 100644
--- a/dev-haskell/attoparsec-iso8601/attoparsec-iso8601-1.0.2.1.ebuild
+++ b/dev-haskell/attoparsec-iso8601/attoparsec-iso8601-1.0.2.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/attoparsec-0.14.2:=[profile?] <dev-haskell/attoparsec-0.15:=[profile?]
>=dev-haskell/base-compat-batteries-0.10.0:=[profile?] <dev-haskell/base-compat-batteries-0.13:=[profile?]
diff --git a/dev-haskell/attoparsec/attoparsec-0.14.4.ebuild b/dev-haskell/attoparsec/attoparsec-0.14.4.ebuild
index 346962734874..952408dfb726 100644
--- a/dev-haskell/attoparsec/attoparsec-0.14.4.ebuild
+++ b/dev-haskell/attoparsec/attoparsec-0.14.4.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/scientific-0.3.1:=[profile?] <dev-haskell/scientific-0.4:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/auto-update/auto-update-0.1.6.ebuild b/dev-haskell/auto-update/auto-update-0.1.6.ebuild
index cf130c99f081..d675ae8446e7 100644
--- a/dev-haskell/auto-update/auto-update-0.1.6.ebuild
+++ b/dev-haskell/auto-update/auto-update-0.1.6.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/aws/aws-0.22-r5.ebuild b/dev-haskell/aws/aws-0.22-r5.ebuild
index 8531cfae56b1..1985fdc5c020 100644
--- a/dev-haskell/aws/aws-0.22-r5.ebuild
+++ b/dev-haskell/aws/aws-0.22-r5.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://github.com/aristidb/aws"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="examples"
RESTRICT=test # requires aws account
diff --git a/dev-haskell/base-compat-batteries/base-compat-batteries-0.12.1.ebuild b/dev-haskell/base-compat-batteries/base-compat-batteries-0.12.1.ebuild
index d793e3339cc1..8b7711fb491c 100644
--- a/dev-haskell/base-compat-batteries/base-compat-batteries-0.12.1.ebuild
+++ b/dev-haskell/base-compat-batteries/base-compat-batteries-0.12.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="~dev-haskell/base-compat-0.12.1:=[profile?]
>=dev-haskell/contravariant-1.5:=[profile?] <dev-haskell/contravariant-1.6:=[profile?]
diff --git a/dev-haskell/base-compat/base-compat-0.12.1.ebuild b/dev-haskell/base-compat/base-compat-0.12.1.ebuild
index cb6d0ef13129..8f8f7c48abb0 100644
--- a/dev-haskell/base-compat/base-compat-0.12.1.ebuild
+++ b/dev-haskell/base-compat/base-compat-0.12.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/base-orphans/base-orphans-0.8.6.ebuild b/dev-haskell/base-orphans/base-orphans-0.8.6.ebuild
index 01f192cad047..7bcc258b94d0 100644
--- a/dev-haskell/base-orphans/base-orphans-0.8.6.ebuild
+++ b/dev-haskell/base-orphans/base-orphans-0.8.6.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/base16-bytestring/base16-bytestring-0.1.1.7.ebuild b/dev-haskell/base16-bytestring/base16-bytestring-0.1.1.7.ebuild
index 51b0977404ef..def9e6beaeea 100644
--- a/dev-haskell/base16-bytestring/base16-bytestring-0.1.1.7.ebuild
+++ b/dev-haskell/base16-bytestring/base16-bytestring-0.1.1.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/base64-bytestring/base64-bytestring-1.0.0.3.ebuild b/dev-haskell/base64-bytestring/base64-bytestring-1.0.0.3.ebuild
index 3306ed1c6012..3ad6148a0acb 100644
--- a/dev-haskell/base64-bytestring/base64-bytestring-1.0.0.3.ebuild
+++ b/dev-haskell/base64-bytestring/base64-bytestring-1.0.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/basement/basement-0.0.12.ebuild b/dev-haskell/basement/basement-0.0.12.ebuild
index 1374c887da7c..2ef32a273fb6 100644
--- a/dev-haskell/basement/basement-0.0.12.ebuild
+++ b/dev-haskell/basement/basement-0.0.12.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/bencode/bencode-0.6.1.1.ebuild b/dev-haskell/bencode/bencode-0.6.1.1.ebuild
index a95bda0b6762..fb7740d84a35 100644
--- a/dev-haskell/bencode/bencode-0.6.1.1.ebuild
+++ b/dev-haskell/bencode/bencode-0.6.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/parsec:=[profile?]
diff --git a/dev-haskell/bifunctors/bifunctors-5.5.11.ebuild b/dev-haskell/bifunctors/bifunctors-5.5.11.ebuild
index e3a0f5ed91b7..d038a663f63e 100644
--- a/dev-haskell/bifunctors/bifunctors-5.5.11.ebuild
+++ b/dev-haskell/bifunctors/bifunctors-5.5.11.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+semigroups +tagged"
RDEPEND=">=dev-haskell/base-orphans-0.8.4:=[profile?] <dev-haskell/base-orphans-1:=[profile?]
diff --git a/dev-haskell/binary-orphans/binary-orphans-1.0.2.ebuild b/dev-haskell/binary-orphans/binary-orphans-1.0.2.ebuild
index 7b1b1039c683..4f5a2d2cd7c6 100644
--- a/dev-haskell/binary-orphans/binary-orphans-1.0.2.ebuild
+++ b/dev-haskell/binary-orphans/binary-orphans-1.0.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/onetuple-0.3:=[profile?] <dev-haskell/onetuple-0.4:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/binary/binary-0.8.8.0.ebuild b/dev-haskell/binary/binary-0.8.8.0.ebuild
index 546880c852db..4713aa042b2e 100644
--- a/dev-haskell/binary/binary-0.8.8.0.ebuild
+++ b/dev-haskell/binary/binary-0.8.8.0.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
# keep in sync with ghc-8.10
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RESTRICT=test # circular depend: test-framework->base-orphans->cabal->semigroups->nats->binary
diff --git a/dev-haskell/blaze-builder/blaze-builder-0.4.2.1.ebuild b/dev-haskell/blaze-builder/blaze-builder-0.4.2.1.ebuild
index 7af64608c8d0..f41d86a36e56 100644
--- a/dev-haskell/blaze-builder/blaze-builder-0.4.2.1.ebuild
+++ b/dev-haskell/blaze-builder/blaze-builder-0.4.2.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/text-0.10:=[profile?] <dev-haskell/text-1.3:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/blaze-html/blaze-html-0.9.1.2-r1.ebuild b/dev-haskell/blaze-html/blaze-html-0.9.1.2-r1.ebuild
index 6e5ecb839bac..820e92222d0f 100644
--- a/dev-haskell/blaze-html/blaze-html-0.9.1.2-r1.ebuild
+++ b/dev-haskell/blaze-html/blaze-html-0.9.1.2-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/blaze-builder-0.3:=[profile?] <dev-haskell/blaze-builder-0.5:=[profile?]
diff --git a/dev-haskell/blaze-markup/blaze-markup-0.8.2.8.ebuild b/dev-haskell/blaze-markup/blaze-markup-0.8.2.8.ebuild
index d4925282ebc1..d4c92c58cabc 100644
--- a/dev-haskell/blaze-markup/blaze-markup-0.8.2.8.ebuild
+++ b/dev-haskell/blaze-markup/blaze-markup-0.8.2.8.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/blaze-builder-0.3:=[profile?] <dev-haskell/blaze-builder-0.5:=[profile?]
>=dev-haskell/text-0.10:=[profile?] <dev-haskell/text-1.3:=[profile?]
diff --git a/dev-haskell/bloomfilter/bloomfilter-2.0.1.0.ebuild b/dev-haskell/bloomfilter/bloomfilter-2.0.1.0.ebuild
index 7f348a549490..1d715dc0e352 100644
--- a/dev-haskell/bloomfilter/bloomfilter-2.0.1.0.ebuild
+++ b/dev-haskell/bloomfilter/bloomfilter-2.0.1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/bsb-http-chunked/bsb-http-chunked-0.0.0.4.ebuild b/dev-haskell/bsb-http-chunked/bsb-http-chunked-0.0.0.4.ebuild
index 27260bbc356c..166b013c349a 100644
--- a/dev-haskell/bsb-http-chunked/bsb-http-chunked-0.0.0.4.ebuild
+++ b/dev-haskell/bsb-http-chunked/bsb-http-chunked-0.0.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.10.1:=
diff --git a/dev-haskell/byteable/byteable-0.1.1.ebuild b/dev-haskell/byteable/byteable-0.1.1.ebuild
index 936ad84a80f3..4bf51a2594f7 100644
--- a/dev-haskell/byteable/byteable-0.1.1.ebuild
+++ b/dev-haskell/byteable/byteable-0.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/byteorder/byteorder-1.0.4.ebuild b/dev-haskell/byteorder/byteorder-1.0.4.ebuild
index b51823f9d0ef..9e0314195ddb 100644
--- a/dev-haskell/byteorder/byteorder-1.0.4.ebuild
+++ b/dev-haskell/byteorder/byteorder-1.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/bytestring-builder/bytestring-builder-0.10.8.2.0.ebuild b/dev-haskell/bytestring-builder/bytestring-builder-0.10.8.2.0.ebuild
index 6c80dfa7870b..533fbcc7eac5 100644
--- a/dev-haskell/bytestring-builder/bytestring-builder-0.10.8.2.0.ebuild
+++ b/dev-haskell/bytestring-builder/bytestring-builder-0.10.8.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/c2hs/c2hs-0.28.8.ebuild b/dev-haskell/c2hs/c2hs-0.28.8.ebuild
index 8a2d6b0c0a52..86ea4046ef96 100644
--- a/dev-haskell/c2hs/c2hs-0.28.8.ebuild
+++ b/dev-haskell/c2hs/c2hs-0.28.8.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="regression"
RESTRICT=test # needs unprefixed 'cpp'
diff --git a/dev-haskell/cabal-doctest/cabal-doctest-1.0.9.ebuild b/dev-haskell/cabal-doctest/cabal-doctest-1.0.9.ebuild
index 1bb532afc299..f1cdc2abf33a 100644
--- a/dev-haskell/cabal-doctest/cabal-doctest-1.0.9.ebuild
+++ b/dev-haskell/cabal-doctest/cabal-doctest-1.0.9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/cabal-1.10:=[profile?] <dev-haskell/cabal-3.8:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/cabal-install/cabal-install-3.4.1.0-r2.ebuild b/dev-haskell/cabal-install/cabal-install-3.4.1.0-r2.ebuild
index 4ea84e532ce2..9dfc83f1b0dc 100644
--- a/dev-haskell/cabal-install/cabal-install-3.4.1.0-r2.ebuild
+++ b/dev-haskell/cabal-install/cabal-install-3.4.1.0-r2.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
#keep in sync with ghc-9.0.2
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="debug +lukko +native-dns"
RDEPEND=">=dev-haskell/async-2.0:= <dev-haskell/async-2.3:=
diff --git a/dev-haskell/cabal/cabal-3.4.1.0.ebuild b/dev-haskell/cabal/cabal-3.4.1.0.ebuild
index fd290d5d606c..4d2f4b6ec1a4 100644
--- a/dev-haskell/cabal/cabal-3.4.1.0.ebuild
+++ b/dev-haskell/cabal/cabal-3.4.1.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://hackage.haskell.org/package/${CABAL_PN}/${CABAL_PN}-${PV}.tar.g
LICENSE="BSD"
SLOT="0/${PV}"
#keep in sync with ghc-9.0.2
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
RESTRICT=test # circular deps: cabal -> quickcheck -> cabal
diff --git a/dev-haskell/call-stack/call-stack-0.3.0.ebuild b/dev-haskell/call-stack/call-stack-0.3.0.ebuild
index 6c8a3895b1e5..6ac2d3108792 100644
--- a/dev-haskell/call-stack/call-stack-0.3.0.ebuild
+++ b/dev-haskell/call-stack/call-stack-0.3.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/case-insensitive/case-insensitive-1.2.1.0.ebuild b/dev-haskell/case-insensitive/case-insensitive-1.2.1.0.ebuild
index d45cb8d2856a..c8117ca5b8e0 100644
--- a/dev-haskell/case-insensitive/case-insensitive-1.2.1.0.ebuild
+++ b/dev-haskell/case-insensitive/case-insensitive-1.2.1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/hashable-1.0:=[profile?]
diff --git a/dev-haskell/cassava/cassava-0.5.2.0-r1.ebuild b/dev-haskell/cassava/cassava-0.5.2.0-r1.ebuild
index fc3a73e5c902..5e56a031f762 100644
--- a/dev-haskell/cassava/cassava-0.5.2.0-r1.ebuild
+++ b/dev-haskell/cassava/cassava-0.5.2.0-r1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/attoparsec-0.11.3.0:=[profile?] <dev-haskell/attoparsec-0.15:=[profile?]
<dev-haskell/hashable-1.5:=[profile?]
diff --git a/dev-haskell/cereal/cereal-0.5.8.1.ebuild b/dev-haskell/cereal/cereal-0.5.8.1.ebuild
index fc25587da1a8..b47df540ed0d 100644
--- a/dev-haskell/cereal/cereal-0.5.8.1.ebuild
+++ b/dev-haskell/cereal/cereal-0.5.8.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/bytestring-builder-0.10.4:=[profile?] <dev-haskell/bytestring-builder-1:=[profile?]
diff --git a/dev-haskell/charset/charset-0.3.7.1-r1.ebuild b/dev-haskell/charset/charset-0.3.7.1-r1.ebuild
index ec8e79db796b..c7c3395685b6 100644
--- a/dev-haskell/charset/charset-0.3.7.1-r1.ebuild
+++ b/dev-haskell/charset/charset-0.3.7.1-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/semigroups-0.8.3.1:=[profile?] <dev-haskell/semigroups-1:=[profile?]
diff --git a/dev-haskell/chell/chell-0.4.0.2.ebuild b/dev-haskell/chell/chell-0.4.0.2.ebuild
index 40fa042918fa..206f8641d1c8 100644
--- a/dev-haskell/chell/chell-0.4.0.2.ebuild
+++ b/dev-haskell/chell/chell-0.4.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+color-output"
RDEPEND=">=dev-haskell/options-1.0:=[profile?] <dev-haskell/options-2.0:=[profile?]
diff --git a/dev-haskell/cipher-aes/cipher-aes-0.2.11.ebuild b/dev-haskell/cipher-aes/cipher-aes-0.2.11.ebuild
index c20520e38115..bfb1cdbb19e3 100644
--- a/dev-haskell/cipher-aes/cipher-aes-0.2.11.ebuild
+++ b/dev-haskell/cipher-aes/cipher-aes-0.2.11.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="cpu_flags_x86_aes cpu_flags_x86_ssse3"
RDEPEND="dev-haskell/byteable:=[profile?]
diff --git a/dev-haskell/citeproc/citeproc-0.7.ebuild b/dev-haskell/citeproc/citeproc-0.7.ebuild
index cf96915d68aa..bf9e6366f83e 100644
--- a/dev-haskell/citeproc/citeproc-0.7.ebuild
+++ b/dev-haskell/citeproc/citeproc-0.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="executable icu"
# Many tests for this package are known to fail and this is acceptable for
diff --git a/dev-haskell/clientsession/clientsession-0.9.1.2.ebuild b/dev-haskell/clientsession/clientsession-0.9.1.2.ebuild
index 3b2dd6d88768..38127b0a7fc0 100644
--- a/dev-haskell/clientsession/clientsession-0.9.1.2.ebuild
+++ b/dev-haskell/clientsession/clientsession-0.9.1.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="test"
RDEPEND=">=dev-haskell/base64-bytestring-0.1.1.1:=[profile?]
diff --git a/dev-haskell/clock/clock-0.7.2.ebuild b/dev-haskell/clock/clock-0.7.2.ebuild
index d63e78880cc7..151eb843a867 100644
--- a/dev-haskell/clock/clock-0.7.2.ebuild
+++ b/dev-haskell/clock/clock-0.7.2.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # circular depend: tasty->clock[test]->tasty
diff --git a/dev-haskell/cmdargs/cmdargs-0.10.20.ebuild b/dev-haskell/cmdargs/cmdargs-0.10.20.ebuild
index 33cfd17a779f..1f22527f7aaf 100644
--- a/dev-haskell/cmdargs/cmdargs-0.10.20.ebuild
+++ b/dev-haskell/cmdargs/cmdargs-0.10.20.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+quotation testprog"
RDEPEND=">=dev-haskell/semigroups-0.18:=[profile?]
diff --git a/dev-haskell/code-page/code-page-0.1.3.ebuild b/dev-haskell/code-page/code-page-0.1.3.ebuild
index 15b9ef285ae2..8f2fa5696877 100644
--- a/dev-haskell/code-page/code-page-0.1.3.ebuild
+++ b/dev-haskell/code-page/code-page-0.1.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/colour/colour-2.3.5.ebuild b/dev-haskell/colour/colour-2.3.5.ebuild
index a36d61bf13d9..e1d0d2f5f91a 100644
--- a/dev-haskell/colour/colour-2.3.5.ebuild
+++ b/dev-haskell/colour/colour-2.3.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
# circular dependencies: colour -> ansi-terminal -> test-framework -> colour
RESTRICT=test
diff --git a/dev-haskell/commonmark-extensions/commonmark-extensions-0.2.3.2.ebuild b/dev-haskell/commonmark-extensions/commonmark-extensions-0.2.3.2.ebuild
index cc7424afc9d8..c9dd40b98f0f 100644
--- a/dev-haskell/commonmark-extensions/commonmark-extensions-0.2.3.2.ebuild
+++ b/dev-haskell/commonmark-extensions/commonmark-extensions-0.2.3.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/commonmark-0.2.2:=[profile?] <dev-haskell/commonmark-0.3:=[profile?]
>=dev-haskell/emojis-0.1:=[profile?] <dev-haskell/emojis-0.2:=[profile?]
diff --git a/dev-haskell/commonmark-pandoc/commonmark-pandoc-0.2.1.2.ebuild b/dev-haskell/commonmark-pandoc/commonmark-pandoc-0.2.1.2.ebuild
index 16d548612087..0e9eff909392 100644
--- a/dev-haskell/commonmark-pandoc/commonmark-pandoc-0.2.1.2.ebuild
+++ b/dev-haskell/commonmark-pandoc/commonmark-pandoc-0.2.1.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/commonmark-0.2:=[profile?] <dev-haskell/commonmark-0.3:=[profile?]
>=dev-haskell/commonmark-extensions-0.2.1:=[profile?] <dev-haskell/commonmark-extensions-0.3:=[profile?]
diff --git a/dev-haskell/commonmark/commonmark-0.2.2.ebuild b/dev-haskell/commonmark/commonmark-0.2.2.ebuild
index 110b6839f6d2..0884c2aa5cc8 100644
--- a/dev-haskell/commonmark/commonmark-0.2.2.ebuild
+++ b/dev-haskell/commonmark/commonmark-0.2.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/unicode-data-0.3:=[profile?]
dev-haskell/unicode-transforms:=[profile?]
diff --git a/dev-haskell/comonad/comonad-5.0.8.ebuild b/dev-haskell/comonad/comonad-5.0.8.ebuild
index 0b826921b3e9..00239eebbbbf 100644
--- a/dev-haskell/comonad/comonad-5.0.8.ebuild
+++ b/dev-haskell/comonad/comonad-5.0.8.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+indexed-traversable"
RDEPEND=">=dev-haskell/distributive-0.5.2:=[profile?] <dev-haskell/distributive-1:=[profile?]
diff --git a/dev-haskell/concurrent-output/concurrent-output-1.10.11.ebuild b/dev-haskell/concurrent-output/concurrent-output-1.10.11.ebuild
index 47eaf4dbbfed..9675c6b3ffac 100644
--- a/dev-haskell/concurrent-output/concurrent-output-1.10.11.ebuild
+++ b/dev-haskell/concurrent-output/concurrent-output-1.10.11.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/ansi-terminal-0.9.1:=[profile?] <dev-haskell/ansi-terminal-0.11.0:=[profile?]
diff --git a/dev-haskell/conduit-combinators/conduit-combinators-1.3.0.ebuild b/dev-haskell/conduit-combinators/conduit-combinators-1.3.0.ebuild
index ac55d7c38c9e..6dda7ddb21f3 100644
--- a/dev-haskell/conduit-combinators/conduit-combinators-1.3.0.ebuild
+++ b/dev-haskell/conduit-combinators/conduit-combinators-1.3.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-8.0.1:=
diff --git a/dev-haskell/conduit-extra/conduit-extra-1.3.4.ebuild b/dev-haskell/conduit-extra/conduit-extra-1.3.4.ebuild
index ebbaa2dc56d1..44e99e5eea57 100644
--- a/dev-haskell/conduit-extra/conduit-extra-1.3.4.ebuild
+++ b/dev-haskell/conduit-extra/conduit-extra-1.3.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # requires network
diff --git a/dev-haskell/conduit/conduit-1.3.4.2.ebuild b/dev-haskell/conduit/conduit-1.3.4.2.ebuild
index d3e219fb2173..e038cbdbef19 100644
--- a/dev-haskell/conduit/conduit-1.3.4.2.ebuild
+++ b/dev-haskell/conduit/conduit-1.3.4.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/exceptions:=[profile?]
>=dev-haskell/mono-traversable-1.0.7:=[profile?]
diff --git a/dev-haskell/configurator/configurator-0.3.0.0-r1.ebuild b/dev-haskell/configurator/configurator-0.3.0.0-r1.ebuild
index 7591dd38ca19..20b170e556f0 100644
--- a/dev-haskell/configurator/configurator-0.3.0.0-r1.ebuild
+++ b/dev-haskell/configurator/configurator-0.3.0.0-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/attoparsec-0.10.0.2:=[profile?]
diff --git a/dev-haskell/connection/connection-0.3.1.ebuild b/dev-haskell/connection/connection-0.3.1.ebuild
index 204e78f9736a..60427de6ab04 100644
--- a/dev-haskell/connection/connection-0.3.1.ebuild
+++ b/dev-haskell/connection/connection-0.3.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/basement:=[profile?]
diff --git a/dev-haskell/constraints/constraints-0.13.3.ebuild b/dev-haskell/constraints/constraints-0.13.3.ebuild
index ca6f74cc537c..59ab3cfe34fe 100644
--- a/dev-haskell/constraints/constraints-0.13.3.ebuild
+++ b/dev-haskell/constraints/constraints-0.13.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hashable-1.2:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
>=dev-haskell/transformers-compat-0.5:=[profile?] <dev-haskell/transformers-compat-1:=[profile?]
diff --git a/dev-haskell/contravariant/contravariant-1.5.3.ebuild b/dev-haskell/contravariant/contravariant-1.5.3.ebuild
index 224e0767b510..86cb27e755ac 100644
--- a/dev-haskell/contravariant/contravariant-1.5.3.ebuild
+++ b/dev-haskell/contravariant/contravariant-1.5.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+semigroups +statevar +tagged"
RDEPEND=">=dev-haskell/transformers-compat-0.5:=[profile?] <dev-haskell/transformers-compat-1:=[profile?]
diff --git a/dev-haskell/convertible/convertible-1.1.1.0.ebuild b/dev-haskell/convertible/convertible-1.1.1.0.ebuild
index 25cd1f4833bf..b903f09e3c66 100644
--- a/dev-haskell/convertible/convertible-1.1.1.0.ebuild
+++ b/dev-haskell/convertible/convertible-1.1.1.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/mtl:=[profile?]
diff --git a/dev-haskell/cookie/cookie-0.4.4.ebuild b/dev-haskell/cookie/cookie-0.4.4.ebuild
index 392f8d712e26..e5cf8a8f677b 100644
--- a/dev-haskell/cookie/cookie-0.4.4.ebuild
+++ b/dev-haskell/cookie/cookie-0.4.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/data-default-class:=[profile?]
diff --git a/dev-haskell/cprng-aes/cprng-aes-0.6.1.ebuild b/dev-haskell/cprng-aes/cprng-aes-0.6.1.ebuild
index db5a16402544..bdddc346fb97 100644
--- a/dev-haskell/cprng-aes/cprng-aes-0.6.1.ebuild
+++ b/dev-haskell/cprng-aes/cprng-aes-0.6.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/byteable:=[profile?]
diff --git a/dev-haskell/criterion-measurement/criterion-measurement-0.1.2.0.ebuild b/dev-haskell/criterion-measurement/criterion-measurement-0.1.2.0.ebuild
index ac370fea7eb3..4e7ee5326033 100644
--- a/dev-haskell/criterion-measurement/criterion-measurement-0.1.2.0.ebuild
+++ b/dev-haskell/criterion-measurement/criterion-measurement-0.1.2.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/aeson-0.8:=[profile?]
diff --git a/dev-haskell/criterion/criterion-1.5.11.0.ebuild b/dev-haskell/criterion/criterion-1.5.11.0.ebuild
index b81ab6dfbb68..514e5972ac2b 100644
--- a/dev-haskell/criterion/criterion-1.5.11.0.ebuild
+++ b/dev-haskell/criterion/criterion-1.5.11.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="embed-data-files"
RDEPEND=">=dev-haskell/aeson-1:=[profile?] <dev-haskell/aeson-2.1:=[profile?]
diff --git a/dev-haskell/crypto-api-tests/crypto-api-tests-0.3-r1.ebuild b/dev-haskell/crypto-api-tests/crypto-api-tests-0.3-r1.ebuild
index d16ab511d3fd..b1109891d8b8 100644
--- a/dev-haskell/crypto-api-tests/crypto-api-tests-0.3-r1.ebuild
+++ b/dev-haskell/crypto-api-tests/crypto-api-tests-0.3-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/cereal:=[profile?]
diff --git a/dev-haskell/crypto-api/crypto-api-0.13.3.ebuild b/dev-haskell/crypto-api/crypto-api-0.13.3.ebuild
index f91c2ccb4710..46382f43b3c8 100644
--- a/dev-haskell/crypto-api/crypto-api-0.13.3.ebuild
+++ b/dev-haskell/crypto-api/crypto-api-0.13.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="all-cpolys"
RDEPEND=">=dev-haskell/cereal-0.2:=[profile?]
diff --git a/dev-haskell/crypto-cipher-tests/crypto-cipher-tests-0.0.11-r1.ebuild b/dev-haskell/crypto-cipher-tests/crypto-cipher-tests-0.0.11-r1.ebuild
index 7333f8cfa1a5..fbd45d7232ec 100644
--- a/dev-haskell/crypto-cipher-tests/crypto-cipher-tests-0.0.11-r1.ebuild
+++ b/dev-haskell/crypto-cipher-tests/crypto-cipher-tests-0.0.11-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/byteable-0.1.1:=[profile?] <dev-haskell/byteable-0.2:=[profile?]
diff --git a/dev-haskell/crypto-cipher-types/crypto-cipher-types-0.0.9.ebuild b/dev-haskell/crypto-cipher-types/crypto-cipher-types-0.0.9.ebuild
index 00ff829792f6..3f37fce9d977 100644
--- a/dev-haskell/crypto-cipher-types/crypto-cipher-types-0.0.9.ebuild
+++ b/dev-haskell/crypto-cipher-types/crypto-cipher-types-0.0.9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/byteable-0.1.1:=[profile?]
diff --git a/dev-haskell/crypto-random/crypto-random-0.0.9.ebuild b/dev-haskell/crypto-random/crypto-random-0.0.9.ebuild
index bc6ae4d42da0..94614c201479 100644
--- a/dev-haskell/crypto-random/crypto-random-0.0.9.ebuild
+++ b/dev-haskell/crypto-random/crypto-random-0.0.9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/securemem:=[profile?]
diff --git a/dev-haskell/cryptohash-md5/cryptohash-md5-0.11.100.1.ebuild b/dev-haskell/cryptohash-md5/cryptohash-md5-0.11.100.1.ebuild
index 3ee6c92ef882..18c798c699a9 100644
--- a/dev-haskell/cryptohash-md5/cryptohash-md5-0.11.100.1.ebuild
+++ b/dev-haskell/cryptohash-md5/cryptohash-md5-0.11.100.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/cryptohash-sha1/cryptohash-sha1-0.11.100.1.ebuild b/dev-haskell/cryptohash-sha1/cryptohash-sha1-0.11.100.1.ebuild
index a98b36cde295..5706d0c360e1 100644
--- a/dev-haskell/cryptohash-sha1/cryptohash-sha1-0.11.100.1.ebuild
+++ b/dev-haskell/cryptohash-sha1/cryptohash-sha1-0.11.100.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/cryptohash-sha256/cryptohash-sha256-0.11.101.0.ebuild b/dev-haskell/cryptohash-sha256/cryptohash-sha256-0.11.101.0.ebuild
index 11adbf916468..853c4393bb38 100644
--- a/dev-haskell/cryptohash-sha256/cryptohash-sha256-0.11.101.0.ebuild
+++ b/dev-haskell/cryptohash-sha256/cryptohash-sha256-0.11.101.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/cryptonite-conduit/cryptonite-conduit-0.2.2.ebuild b/dev-haskell/cryptonite-conduit/cryptonite-conduit-0.2.2.ebuild
index d4b691ce48c9..bfe6a3a93a34 100644
--- a/dev-haskell/cryptonite-conduit/cryptonite-conduit-0.2.2.ebuild
+++ b/dev-haskell/cryptonite-conduit/cryptonite-conduit-0.2.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # test suite fails to build
diff --git a/dev-haskell/cryptonite/cryptonite-0.28.ebuild b/dev-haskell/cryptonite/cryptonite-0.28.ebuild
index 7190477eee98..19600b13973d 100644
--- a/dev-haskell/cryptonite/cryptonite-0.28.ebuild
+++ b/dev-haskell/cryptonite/cryptonite-0.28.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="cpu_flags_x86_rdrand cpu_flags_x86_aes cpu_flags_x86_sse cpu_flags_x86_sse4_1 +integer-gmp +target-attributes"
RDEPEND=">=dev-haskell/basement-0.0.6:=[profile?]
diff --git a/dev-haskell/css-text/css-text-0.1.3.0.ebuild b/dev-haskell/css-text/css-text-0.1.3.0.ebuild
index 64f53d6fd70e..35ee8d518fe5 100644
--- a/dev-haskell/css-text/css-text-0.1.3.0.ebuild
+++ b/dev-haskell/css-text/css-text-0.1.3.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # fails test, not sure if it's severe
diff --git a/dev-haskell/data-default-class/data-default-class-0.1.2.0.ebuild b/dev-haskell/data-default-class/data-default-class-0.1.2.0.ebuild
index c3e6d6e9b20e..07f2c3118277 100644
--- a/dev-haskell/data-default-class/data-default-class-0.1.2.0.ebuild
+++ b/dev-haskell/data-default-class/data-default-class-0.1.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/data-default-instances-containers/data-default-instances-containers-0.0.1.ebuild b/dev-haskell/data-default-instances-containers/data-default-instances-containers-0.0.1.ebuild
index 634f5220e768..bc9f7402c1a7 100644
--- a/dev-haskell/data-default-instances-containers/data-default-instances-containers-0.0.1.ebuild
+++ b/dev-haskell/data-default-instances-containers/data-default-instances-containers-0.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND="dev-haskell/data-default-class:=[profile?]
diff --git a/dev-haskell/data-default-instances-dlist/data-default-instances-dlist-0.0.1.ebuild b/dev-haskell/data-default-instances-dlist/data-default-instances-dlist-0.0.1.ebuild
index 4780a27c7bd0..d4fc2a85e691 100644
--- a/dev-haskell/data-default-instances-dlist/data-default-instances-dlist-0.0.1.ebuild
+++ b/dev-haskell/data-default-instances-dlist/data-default-instances-dlist-0.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND="dev-haskell/data-default-class:=[profile?]
diff --git a/dev-haskell/data-default-instances-old-locale/data-default-instances-old-locale-0.0.1.ebuild b/dev-haskell/data-default-instances-old-locale/data-default-instances-old-locale-0.0.1.ebuild
index 6ad48f1dbf42..ac4dca97bef3 100644
--- a/dev-haskell/data-default-instances-old-locale/data-default-instances-old-locale-0.0.1.ebuild
+++ b/dev-haskell/data-default-instances-old-locale/data-default-instances-old-locale-0.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND="dev-haskell/data-default-class:=[profile?]
diff --git a/dev-haskell/data-default/data-default-0.7.1.1.ebuild b/dev-haskell/data-default/data-default-0.7.1.1.ebuild
index c723e4f30fff..115b96df6c29 100644
--- a/dev-haskell/data-default/data-default-0.7.1.1.ebuild
+++ b/dev-haskell/data-default/data-default-0.7.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND=">=dev-haskell/data-default-class-0.1.2.0:=[profile?]
diff --git a/dev-haskell/data-fix/data-fix-0.3.2.ebuild b/dev-haskell/data-fix/data-fix-0.3.2.ebuild
index 1bb9aae7f852..153c1b615145 100644
--- a/dev-haskell/data-fix/data-fix-0.3.2.ebuild
+++ b/dev-haskell/data-fix/data-fix-0.3.2.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hashable-1.2.7.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/data-ordlist/data-ordlist-0.4.7.0.ebuild b/dev-haskell/data-ordlist/data-ordlist-0.4.7.0.ebuild
index c3817d666d98..e2b74b44cf6b 100644
--- a/dev-haskell/data-ordlist/data-ordlist-0.4.7.0.ebuild
+++ b/dev-haskell/data-ordlist/data-ordlist-0.4.7.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/dav/dav-1.3.4.ebuild b/dev-haskell/dav/dav-1.3.4.ebuild
index 20395cf5943f..fac79a5e82fe 100644
--- a/dev-haskell/dav/dav-1.3.4.ebuild
+++ b/dev-haskell/dav/dav-1.3.4.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="GPL-3"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/case-insensitive-0.4:=[profile?]
diff --git a/dev-haskell/dbus/dbus-1.2.22.ebuild b/dev-haskell/dbus/dbus-1.2.22.ebuild
index 635eeebba4ef..e3c321fbdbff 100644
--- a/dev-haskell/dbus/dbus-1.2.22.ebuild
+++ b/dev-haskell/dbus/dbus-1.2.22.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
PATCHES=(
"${FILESDIR}/${PN}-1.2.22-disable-integration-tests.patch"
diff --git a/dev-haskell/dec/dec-0.0.3.ebuild b/dev-haskell/dec/dec-0.0.3.ebuild
index 7e13994066b6..d4409edc6dbb 100644
--- a/dev-haskell/dec/dec-0.0.3.ebuild
+++ b/dev-haskell/dec/dec-0.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/void-0.7.2:=[profile?] <dev-haskell/void-0.8:=[profile?]
diff --git a/dev-haskell/dense-linear-algebra/dense-linear-algebra-0.1.0.0.ebuild b/dev-haskell/dense-linear-algebra/dense-linear-algebra-0.1.0.0.ebuild
index 908e086c53e4..7ee7b28701cd 100644
--- a/dev-haskell/dense-linear-algebra/dense-linear-algebra-0.1.0.0.ebuild
+++ b/dev-haskell/dense-linear-algebra/dense-linear-algebra-0.1.0.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/math-functions-0.1.7:=[profile?]
diff --git a/dev-haskell/deriving-compat/deriving-compat-0.6.ebuild b/dev-haskell/deriving-compat/deriving-compat-0.6.ebuild
index 26cea1e8499c..543d7ed8d2af 100644
--- a/dev-haskell/deriving-compat/deriving-compat-0.6.ebuild
+++ b/dev-haskell/deriving-compat/deriving-compat-0.6.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/th-abstraction-0.4:=[profile?] <dev-haskell/th-abstraction-0.5:=[profile?]
>=dev-haskell/transformers-compat-0.5:=[profile?]
diff --git a/dev-haskell/diff/diff-0.4.0.ebuild b/dev-haskell/diff/diff-0.4.0.ebuild
index b22393272215..5f1fe3f0a57e 100644
--- a/dev-haskell/diff/diff-0.4.0.ebuild
+++ b/dev-haskell/diff/diff-0.4.0.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/digest/digest-0.0.1.2.ebuild b/dev-haskell/digest/digest-0.0.1.2.ebuild
index a64eb88becc4..c315e5d04ccf 100644
--- a/dev-haskell/digest/digest-0.0.1.2.ebuild
+++ b/dev-haskell/digest/digest-0.0.1.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/disk-free-space/disk-free-space-0.1.0.1.ebuild b/dev-haskell/disk-free-space/disk-free-space-0.1.0.1.ebuild
index 60b362f5e3e0..296bf28d0ee9 100644
--- a/dev-haskell/disk-free-space/disk-free-space-0.1.0.1.ebuild
+++ b/dev-haskell/disk-free-space/disk-free-space-0.1.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/distributive/distributive-0.6.2.1.ebuild b/dev-haskell/distributive/distributive-0.6.2.1.ebuild
index 3e33184b7e80..f2a17578b590 100644
--- a/dev-haskell/distributive/distributive-0.6.2.1.ebuild
+++ b/dev-haskell/distributive/distributive-0.6.2.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/base-orphans-0.5.2:=[profile?] <dev-haskell/base-orphans-1:=[profile?]
>=dev-haskell/tagged-0.7:=[profile?] <dev-haskell/tagged-1:=[profile?]
diff --git a/dev-haskell/dlist/dlist-1.0.ebuild b/dev-haskell/dlist/dlist-1.0.ebuild
index 5837480342b7..03b9113abdd6 100644
--- a/dev-haskell/dlist/dlist-1.0.ebuild
+++ b/dev-haskell/dlist/dlist-1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="werror"
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/dns/dns-4.0.1.ebuild b/dev-haskell/dns/dns-4.0.1.ebuild
index 792a4903052d..b6ce27e92740 100644
--- a/dev-haskell/dns/dns-4.0.1.ebuild
+++ b/dev-haskell/dns/dns-4.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # uses internet to test resolver
diff --git a/dev-haskell/doclayout/doclayout-0.4.ebuild b/dev-haskell/doclayout/doclayout-0.4.ebuild
index bbb4a128cdeb..321fb7a785b1 100644
--- a/dev-haskell/doclayout/doclayout-0.4.ebuild
+++ b/dev-haskell/doclayout/doclayout-0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/emojis-0.1.2:=[profile?]
dev-haskell/safe:=[profile?]
diff --git a/dev-haskell/doctemplates/doctemplates-0.10.0.2.ebuild b/dev-haskell/doctemplates/doctemplates-0.10.0.2.ebuild
index eec0793edf8d..880b57228cab 100644
--- a/dev-haskell/doctemplates/doctemplates-0.10.0.2.ebuild
+++ b/dev-haskell/doctemplates/doctemplates-0.10.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/aeson:=[profile?]
>=dev-haskell/doclayout-0.4:=[profile?] <dev-haskell/doclayout-0.5:=[profile?]
diff --git a/dev-haskell/doctest/doctest-0.20.0.ebuild b/dev-haskell/doctest/doctest-0.20.0.ebuild
index 82be7d68d748..01245921067c 100644
--- a/dev-haskell/doctest/doctest-0.20.0.ebuild
+++ b/dev-haskell/doctest/doctest-0.20.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/base-compat-0.7.0:=[profile?]
>=dev-haskell/code-page-0.1:=[profile?]
diff --git a/dev-haskell/easy-file/easy-file-0.2.2.ebuild b/dev-haskell/easy-file/easy-file-0.2.2.ebuild
index 660ee5e765f1..7ea42aa72e8b 100644
--- a/dev-haskell/easy-file/easy-file-0.2.2.ebuild
+++ b/dev-haskell/easy-file/easy-file-0.2.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/echo/echo-0.1.3.ebuild b/dev-haskell/echo/echo-0.1.3.ebuild
index 1bcf92d2ad24..2931bd3f29a7 100644
--- a/dev-haskell/echo/echo-0.1.3.ebuild
+++ b/dev-haskell/echo/echo-0.1.3.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="examples"
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/ed25519/ed25519-0.0.5.0.ebuild b/dev-haskell/ed25519/ed25519-0.0.5.0.ebuild
index 5c56aaee47cb..686e9c92ba6b 100644
--- a/dev-haskell/ed25519/ed25519-0.0.5.0.ebuild
+++ b/dev-haskell/ed25519/ed25519-0.0.5.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # fails on QC-2.10 as: The constructor ‘Failure’ should have 11 arguments, but has been given 10
diff --git a/dev-haskell/edit-distance/edit-distance-0.2.2.1-r1.ebuild b/dev-haskell/edit-distance/edit-distance-0.2.2.1-r1.ebuild
index df658acb7710..da72c42986d4 100644
--- a/dev-haskell/edit-distance/edit-distance-0.2.2.1-r1.ebuild
+++ b/dev-haskell/edit-distance/edit-distance-0.2.2.1-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE=""
RDEPEND=">=dev-haskell/random-1.0:=[profile?]
diff --git a/dev-haskell/email-validate/email-validate-2.3.2.15.ebuild b/dev-haskell/email-validate/email-validate-2.3.2.15.ebuild
index fc94ede6fb20..4e0340dffc7e 100644
--- a/dev-haskell/email-validate/email-validate-2.3.2.15.ebuild
+++ b/dev-haskell/email-validate/email-validate-2.3.2.15.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
PATCHES=( "${FILESDIR}/${PN}-2.3.2.15-fix-doctest.patch" )
diff --git a/dev-haskell/emojis/emojis-0.1.2.ebuild b/dev-haskell/emojis/emojis-0.1.2.ebuild
index 169e9439e1ae..4743fefce30f 100644
--- a/dev-haskell/emojis/emojis-0.1.2.ebuild
+++ b/dev-haskell/emojis/emojis-0.1.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/text:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/enclosed-exceptions/enclosed-exceptions-1.0.3.ebuild b/dev-haskell/enclosed-exceptions/enclosed-exceptions-1.0.3.ebuild
index 1797580de979..f4bc49f7ea44 100644
--- a/dev-haskell/enclosed-exceptions/enclosed-exceptions-1.0.3.ebuild
+++ b/dev-haskell/enclosed-exceptions/enclosed-exceptions-1.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/lifted-base-0.2:=[profile?]
diff --git a/dev-haskell/entropy/entropy-0.4.1.6-r1.ebuild b/dev-haskell/entropy/entropy-0.4.1.6-r1.ebuild
index 2d3ede9eb5d1..c2c0e03efe34 100644
--- a/dev-haskell/entropy/entropy-0.4.1.6-r1.ebuild
+++ b/dev-haskell/entropy/entropy-0.4.1.6-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="halvm"
RDEPEND=">=dev-lang/ghc-7.10.1:=
diff --git a/dev-haskell/erf/erf-2.0.0.0-r1.ebuild b/dev-haskell/erf/erf-2.0.0.0-r1.ebuild
index b0b2a0914739..ed5bc1010ae0 100644
--- a/dev-haskell/erf/erf-2.0.0.0-r1.ebuild
+++ b/dev-haskell/erf/erf-2.0.0.0-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/errorcall-eq-instance/errorcall-eq-instance-0.3.0.ebuild b/dev-haskell/errorcall-eq-instance/errorcall-eq-instance-0.3.0.ebuild
index 5265657921ed..aa469da2431b 100644
--- a/dev-haskell/errorcall-eq-instance/errorcall-eq-instance-0.3.0.ebuild
+++ b/dev-haskell/errorcall-eq-instance/errorcall-eq-instance-0.3.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/base-orphans:=[profile?]
diff --git a/dev-haskell/errors/errors-2.3.0.ebuild b/dev-haskell/errors/errors-2.3.0.ebuild
index 1e90abc2141d..25ea4d88471a 100644
--- a/dev-haskell/errors/errors-2.3.0.ebuild
+++ b/dev-haskell/errors/errors-2.3.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/exceptions-0.6:=[profile?] <dev-haskell/exceptions-0.11:=[profile?]
diff --git a/dev-haskell/exceptions/exceptions-0.10.4-r1.ebuild b/dev-haskell/exceptions/exceptions-0.10.4-r1.ebuild
index e41704431afa..402c61a0435e 100644
--- a/dev-haskell/exceptions/exceptions-0.10.4-r1.ebuild
+++ b/dev-haskell/exceptions/exceptions-0.10.4-r1.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://github.com/ekmett/exceptions/"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/fail-4.9:=[profile?] <dev-haskell/fail-4.10:=[profile?]
>=dev-haskell/mtl-2.0:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
diff --git a/dev-haskell/extensible-exceptions/extensible-exceptions-0.1.1.4.ebuild b/dev-haskell/extensible-exceptions/extensible-exceptions-0.1.1.4.ebuild
index 532db60e0f4e..ac1f40583bc8 100644
--- a/dev-haskell/extensible-exceptions/extensible-exceptions-0.1.1.4.ebuild
+++ b/dev-haskell/extensible-exceptions/extensible-exceptions-0.1.1.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/extra/extra-1.7.10.ebuild b/dev-haskell/extra/extra-1.7.10.ebuild
index 060084625003..6f8e4443fa9d 100644
--- a/dev-haskell/extra/extra-1.7.10.ebuild
+++ b/dev-haskell/extra/extra-1.7.10.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="2/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/clock-0.7:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/fail/fail-4.9.0.0.ebuild b/dev-haskell/fail/fail-4.9.0.0.ebuild
index e49848d48738..3ccc00ae67cf 100644
--- a/dev-haskell/fail/fail-4.9.0.0.ebuild
+++ b/dev-haskell/fail/fail-4.9.0.0.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/fast-logger/fast-logger-3.0.1.ebuild b/dev-haskell/fast-logger/fast-logger-3.0.1.ebuild
index 69eae850cfc3..eb131f18795b 100644
--- a/dev-haskell/fast-logger/fast-logger-3.0.1.ebuild
+++ b/dev-haskell/fast-logger/fast-logger-3.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/auto-update-0.1.2:=[profile?]
diff --git a/dev-haskell/fdo-notify/fdo-notify-0.3.1.ebuild b/dev-haskell/fdo-notify/fdo-notify-0.3.1.ebuild
index b45834d57d9c..993d6a959f9c 100644
--- a/dev-haskell/fdo-notify/fdo-notify-0.3.1.ebuild
+++ b/dev-haskell/fdo-notify/fdo-notify-0.3.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/dbus-0.10.7:=[profile?]
diff --git a/dev-haskell/feed/feed-1.3.2.1.ebuild b/dev-haskell/feed/feed-1.3.2.1.ebuild
index b3e62b7777b2..09c06e00e657 100644
--- a/dev-haskell/feed/feed-1.3.2.1.ebuild
+++ b/dev-haskell/feed/feed-1.3.2.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
PATCHES=( "${FILESDIR}/${PN}-1.3.2.1-disable-doctest.patch" )
diff --git a/dev-haskell/fgl/fgl-5.7.0.3.ebuild b/dev-haskell/fgl/fgl-5.7.0.3.ebuild
index 7caedbd751e8..ee4cc0d826a0 100644
--- a/dev-haskell/fgl/fgl-5.7.0.3.ebuild
+++ b/dev-haskell/fgl/fgl-5.7.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-7.8.2:=
"
diff --git a/dev-haskell/file-embed/file-embed-0.0.11.2.ebuild b/dev-haskell/file-embed/file-embed-0.0.11.2.ebuild
index be234bc56abf..aed291a6dc5f 100644
--- a/dev-haskell/file-embed/file-embed-0.0.11.2.ebuild
+++ b/dev-haskell/file-embed/file-embed-0.0.11.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-8.0.2:=
diff --git a/dev-haskell/filemanip/filemanip-0.3.6.3.ebuild b/dev-haskell/filemanip/filemanip-0.3.6.3.ebuild
index e07f7da0e648..3f536835abea 100644
--- a/dev-haskell/filemanip/filemanip-0.3.6.3.ebuild
+++ b/dev-haskell/filemanip/filemanip-0.3.6.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/mtl:=[profile?]
diff --git a/dev-haskell/filepath-bytestring/filepath-bytestring-1.4.2.1.9.ebuild b/dev-haskell/filepath-bytestring/filepath-bytestring-1.4.2.1.9.ebuild
index d7edbff346bf..7a2411148587 100644
--- a/dev-haskell/filepath-bytestring/filepath-bytestring-1.4.2.1.9.ebuild
+++ b/dev-haskell/filepath-bytestring/filepath-bytestring-1.4.2.1.9.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://hackage.haskell.org/package/filepath-bytestring"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/findbin/findbin-0.0.5-r1.ebuild b/dev-haskell/findbin/findbin-0.0.5-r1.ebuild
index 66fe577a98ae..1abdf760d45f 100644
--- a/dev-haskell/findbin/findbin-0.0.5-r1.ebuild
+++ b/dev-haskell/findbin/findbin-0.0.5-r1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/fingertree/fingertree-0.1.4.2.ebuild b/dev-haskell/fingertree/fingertree-0.1.4.2.ebuild
index 24063666c9d2..d0cc54d633b0 100644
--- a/dev-haskell/fingertree/fingertree-0.1.4.2.ebuild
+++ b/dev-haskell/fingertree/fingertree-0.1.4.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/foldl/foldl-1.4.12-r1.ebuild b/dev-haskell/foldl/foldl-1.4.12-r1.ebuild
index 21f98c77fee0..e8f8fbb1f418 100644
--- a/dev-haskell/foldl/foldl-1.4.12-r1.ebuild
+++ b/dev-haskell/foldl/foldl-1.4.12-r1.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://hackage.haskell.org/package/foldl"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
PATCHES=( "${FILESDIR}/${PN}-1.4.12-cabal-doctest.patch" )
diff --git a/dev-haskell/foundation/foundation-0.0.26.1.ebuild b/dev-haskell/foundation/foundation-0.0.26.1.ebuild
index 99ff08bad65e..aeeca4edf5ef 100644
--- a/dev-haskell/foundation/foundation-0.0.26.1.ebuild
+++ b/dev-haskell/foundation/foundation-0.0.26.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="experimental"
RESTRICT=test # hangs indefinitely
diff --git a/dev-haskell/free/free-5.1.9.ebuild b/dev-haskell/free/free-5.1.9.ebuild
index 37b438299c11..76ed67407f98 100644
--- a/dev-haskell/free/free-5.1.9.ebuild
+++ b/dev-haskell/free/free-5.1.9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/comonad-5.0.8:=[profile?] <dev-haskell/comonad-6:=[profile?]
>=dev-haskell/distributive-0.5.2:=[profile?] <dev-haskell/distributive-1:=[profile?]
diff --git a/dev-haskell/generic-deriving/generic-deriving-1.14.1.ebuild b/dev-haskell/generic-deriving/generic-deriving-1.14.1.ebuild
index 33294ff7b335..9070cc5796e9 100644
--- a/dev-haskell/generic-deriving/generic-deriving-1.14.1.ebuild
+++ b/dev-haskell/generic-deriving/generic-deriving-1.14.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/th-abstraction-0.4:=[profile?] <dev-haskell/th-abstraction-0.5:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/generics-sop/generics-sop-0.5.1.1.ebuild b/dev-haskell/generics-sop/generics-sop-0.5.1.1.ebuild
index e56c7e3bd082..518299ae6297 100644
--- a/dev-haskell/generics-sop/generics-sop-0.5.1.1.ebuild
+++ b/dev-haskell/generics-sop/generics-sop-0.5.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/sop-core-0.5.0:=[profile?] <dev-haskell/sop-core-0.5.1:=[profile?]
>=dev-haskell/th-abstraction-0.4:=[profile?] <dev-haskell/th-abstraction-0.5:=[profile?]
diff --git a/dev-haskell/getopt-generics/getopt-generics-0.13.0.4.ebuild b/dev-haskell/getopt-generics/getopt-generics-0.13.0.4.ebuild
index 74e71343dc24..c0eb7c8e8afa 100644
--- a/dev-haskell/getopt-generics/getopt-generics-0.13.0.4.ebuild
+++ b/dev-haskell/getopt-generics/getopt-generics-0.13.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/base-compat-0.8:=[profile?]
diff --git a/dev-haskell/ghc-byteorder/ghc-byteorder-4.11.0.0.10.ebuild b/dev-haskell/ghc-byteorder/ghc-byteorder-4.11.0.0.10.ebuild
index 5948f5209da0..719f31ce50cf 100644
--- a/dev-haskell/ghc-byteorder/ghc-byteorder-4.11.0.0.10.ebuild
+++ b/dev-haskell/ghc-byteorder/ghc-byteorder-4.11.0.0.10.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/ghc-paths/ghc-paths-0.1.0.12-r1.ebuild b/dev-haskell/ghc-paths/ghc-paths-0.1.0.12-r1.ebuild
index 0bdacaeb5e4c..2750ffc0629a 100644
--- a/dev-haskell/ghc-paths/ghc-paths-0.1.0.12-r1.ebuild
+++ b/dev-haskell/ghc-paths/ghc-paths-0.1.0.12-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/git-lfs/git-lfs-1.2.0.ebuild b/dev-haskell/git-lfs/git-lfs-1.2.0.ebuild
index 8d8c863aacd7..78f078065e19 100644
--- a/dev-haskell/git-lfs/git-lfs-1.2.0.ebuild
+++ b/dev-haskell/git-lfs/git-lfs-1.2.0.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://hackage.haskell.org/package/git-lfs"
LICENSE="AGPL-3"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/aeson-1.3:=[profile?] <dev-haskell/aeson-2.1:=[profile?]
>=dev-haskell/case-insensitive-1.2:=[profile?] <dev-haskell/case-insensitive-1.3:=[profile?]
diff --git a/dev-haskell/glob/glob-0.10.2.ebuild b/dev-haskell/glob/glob-0.10.2.ebuild
index a024620f06c9..e19cd0328c04 100644
--- a/dev-haskell/glob/glob-0.10.2.ebuild
+++ b/dev-haskell/glob/glob-0.10.2.ebuild
@@ -24,7 +24,7 @@ SRC_URI="https://hackage.haskell.org/package/${CABAL_P}/${CABAL_P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/dlist-0.4:=[profile?]
>=dev-haskell/transformers-compat-0.3:=[profile?]
diff --git a/dev-haskell/hackage-security/hackage-security-0.6.1.0.ebuild b/dev-haskell/hackage-security/hackage-security-0.6.1.0.ebuild
index c0a641996ee0..2fc4107994f5 100644
--- a/dev-haskell/hackage-security/hackage-security-0.6.1.0.ebuild
+++ b/dev-haskell/hackage-security/hackage-security-0.6.1.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+lukko"
RDEPEND=">=dev-haskell/base16-bytestring-0.1.1:=[profile?] <dev-haskell/base16-bytestring-1.1:=[profile?]
diff --git a/dev-haskell/haddock-library/haddock-library-1.10.0.ebuild b/dev-haskell/haddock-library/haddock-library-1.10.0.ebuild
index a769f4844c7a..d61c9be83da6 100644
--- a/dev-haskell/haddock-library/haddock-library-1.10.0.ebuild
+++ b/dev-haskell/haddock-library/haddock-library-1.10.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/happy/happy-1.19.12.ebuild b/dev-haskell/happy/happy-1.19.12.ebuild
index fdc9808860f2..cd025a2937e6 100644
--- a/dev-haskell/happy/happy-1.19.12.ebuild
+++ b/dev-haskell/happy/happy-1.19.12.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="doc"
# Re: LLVM blocker - ghc-9.0.2 generates IR that crashes LLVM opt
diff --git a/dev-haskell/hashable/hashable-1.4.0.2.ebuild b/dev-haskell/hashable/hashable-1.4.0.2.ebuild
index 6ce91d0e13b9..a0740a70433d 100644
--- a/dev-haskell/hashable/hashable-1.4.0.2.ebuild
+++ b/dev-haskell/hashable/hashable-1.4.0.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/base-orphans-0.8.6:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/haskeline/haskeline-0.8.2.ebuild b/dev-haskell/haskeline/haskeline-0.8.2.ebuild
index 093b1cdad01f..ddf6147a9a85 100644
--- a/dev-haskell/haskeline/haskeline-0.8.2.ebuild
+++ b/dev-haskell/haskeline/haskeline-0.8.2.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
# keep in sync with ghc-8.10.6
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="+terminfo"
RESTRICT=test # test requires example executable which does not work correctly
diff --git a/dev-haskell/haskell-lexer/haskell-lexer-1.1.ebuild b/dev-haskell/haskell-lexer/haskell-lexer-1.1.ebuild
index 9a84d472c28f..2502cbcb4f83 100644
--- a/dev-haskell/haskell-lexer/haskell-lexer-1.1.ebuild
+++ b/dev-haskell/haskell-lexer/haskell-lexer-1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/haskell-src-exts/haskell-src-exts-1.23.1.ebuild b/dev-haskell/haskell-src-exts/haskell-src-exts-1.23.1.ebuild
index 079fd657b401..69732101071e 100644
--- a/dev-haskell/haskell-src-exts/haskell-src-exts-1.23.1.ebuild
+++ b/dev-haskell/haskell-src-exts/haskell-src-exts-1.23.1.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://github.com/haskell-suite/haskell-src-exts"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/hdbc-postgresql/hdbc-postgresql-2.5.0.0.ebuild b/dev-haskell/hdbc-postgresql/hdbc-postgresql-2.5.0.0.ebuild
index 7d75dfea2d51..45320035e796 100644
--- a/dev-haskell/hdbc-postgresql/hdbc-postgresql-2.5.0.0.ebuild
+++ b/dev-haskell/hdbc-postgresql/hdbc-postgresql-2.5.0.0.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="2/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-db/postgresql-7:*
diff --git a/dev-haskell/hdbc-sqlite3/hdbc-sqlite3-2.3.3.1-r1.ebuild b/dev-haskell/hdbc-sqlite3/hdbc-sqlite3-2.3.3.1-r1.ebuild
index a7a7dd75f277..69e57d8eba3b 100644
--- a/dev-haskell/hdbc-sqlite3/hdbc-sqlite3-2.3.3.1-r1.ebuild
+++ b/dev-haskell/hdbc-sqlite3/hdbc-sqlite3-2.3.3.1-r1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+splitbase"
RDEPEND=">=dev-db/sqlite-3.0
diff --git a/dev-haskell/hdbc/hdbc-2.4.0.3.ebuild b/dev-haskell/hdbc/hdbc-2.4.0.3.ebuild
index 4032e5a2a5b9..34fab413d957 100644
--- a/dev-haskell/hdbc/hdbc-2.4.0.3.ebuild
+++ b/dev-haskell/hdbc/hdbc-2.4.0.3.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="2/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT="test" # Requires unmaintaned dev-haskell/testpack
diff --git a/dev-haskell/hedgehog/hedgehog-1.0.5.ebuild b/dev-haskell/hedgehog/hedgehog-1.0.5.ebuild
index 9b2548782b44..ff6293ba3b68 100644
--- a/dev-haskell/hedgehog/hedgehog-1.0.5.ebuild
+++ b/dev-haskell/hedgehog/hedgehog-1.0.5.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/ansi-terminal-0.6:=[profile?] <dev-haskell/ansi-terminal-0.12:=[profile?]
>=dev-haskell/async-2.0:=[profile?] <dev-haskell/async-2.3:=[profile?]
diff --git a/dev-haskell/hinotify/hinotify-0.3.10.ebuild b/dev-haskell/hinotify/hinotify-0.3.10.ebuild
index b05aa2c54691..eb4a87ff97f4 100644
--- a/dev-haskell/hinotify/hinotify-0.3.10.ebuild
+++ b/dev-haskell/hinotify/hinotify-0.3.10.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/async-2.0:=[profile?] <dev-haskell/async-2.3:=[profile?]
diff --git a/dev-haskell/hjsmin/hjsmin-0.2.0.4.ebuild b/dev-haskell/hjsmin/hjsmin-0.2.0.4.ebuild
index ee7921394a8e..9f29206330a7 100644
--- a/dev-haskell/hjsmin/hjsmin-0.2.0.4.ebuild
+++ b/dev-haskell/hjsmin/hjsmin-0.2.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # Requires network access?
diff --git a/dev-haskell/hostname/hostname-1.0-r1.ebuild b/dev-haskell/hostname/hostname-1.0-r1.ebuild
index 6422259d899f..486f599b0cc2 100644
--- a/dev-haskell/hostname/hostname-1.0-r1.ebuild
+++ b/dev-haskell/hostname/hostname-1.0-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/hourglass/hourglass-0.2.12.ebuild b/dev-haskell/hourglass/hourglass-0.2.12.ebuild
index d536bbfa62bd..55e5eb9e581b 100644
--- a/dev-haskell/hourglass/hourglass-0.2.12.ebuild
+++ b/dev-haskell/hourglass/hourglass-0.2.12.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/hscolour/hscolour-1.24.4.ebuild b/dev-haskell/hscolour/hscolour-1.24.4.ebuild
index b73e59456731..daada744ad22 100644
--- a/dev-haskell/hscolour/hscolour-1.24.4.ebuild
+++ b/dev-haskell/hscolour/hscolour-1.24.4.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/hslogger/hslogger-1.3.1.0-r2.ebuild b/dev-haskell/hslogger/hslogger-1.3.1.0-r2.ebuild
index 81664845b34f..fecba81f2f90 100644
--- a/dev-haskell/hslogger/hslogger-1.3.1.0-r2.ebuild
+++ b/dev-haskell/hslogger/hslogger-1.3.1.0-r2.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
RDEPEND=">=dev-haskell/old-locale-1.0:=[profile?] <dev-haskell/old-locale-1.1:=[profile?]
>=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/hslua-aeson/hslua-aeson-2.2.0.ebuild b/dev-haskell/hslua-aeson/hslua-aeson-2.2.0.ebuild
index ec98943e6333..c0c2941e1a75 100644
--- a/dev-haskell/hslua-aeson/hslua-aeson-2.2.0.ebuild
+++ b/dev-haskell/hslua-aeson/hslua-aeson-2.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/aeson-1.5:=[profile?] <dev-haskell/aeson-2.1:=[profile?]
>=dev-haskell/hashable-1.2:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
diff --git a/dev-haskell/hslua-classes/hslua-classes-2.2.0.ebuild b/dev-haskell/hslua-classes/hslua-classes-2.2.0.ebuild
index 14e471f418fa..3f78ce631668 100644
--- a/dev-haskell/hslua-classes/hslua-classes-2.2.0.ebuild
+++ b/dev-haskell/hslua-classes/hslua-classes-2.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-core-2.1:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
>=dev-haskell/hslua-marshalling-2.1:=[profile?] <dev-haskell/hslua-marshalling-2.3:=[profile?]
diff --git a/dev-haskell/hslua-core/hslua-core-2.2.0.ebuild b/dev-haskell/hslua-core/hslua-core-2.2.0.ebuild
index cab7b554f7a3..75d433b95ac6 100644
--- a/dev-haskell/hslua-core/hslua-core-2.2.0.ebuild
+++ b/dev-haskell/hslua-core/hslua-core-2.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/lua-2.2:=[profile?] <dev-haskell/lua-2.3:=[profile?]
>=dev-lang/ghc-8.10.1:=
diff --git a/dev-haskell/hslua-marshalling/hslua-marshalling-2.2.0.ebuild b/dev-haskell/hslua-marshalling/hslua-marshalling-2.2.0.ebuild
index 8a2e007125df..b8c10d625222 100644
--- a/dev-haskell/hslua-marshalling/hslua-marshalling-2.2.0.ebuild
+++ b/dev-haskell/hslua-marshalling/hslua-marshalling-2.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-core-2.2:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/hslua-module-doclayout/hslua-module-doclayout-1.0.4.ebuild b/dev-haskell/hslua-module-doclayout/hslua-module-doclayout-1.0.4.ebuild
index 56fc5a747721..aab74fa0ce28 100644
--- a/dev-haskell/hslua-module-doclayout/hslua-module-doclayout-1.0.4.ebuild
+++ b/dev-haskell/hslua-module-doclayout/hslua-module-doclayout-1.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/doclayout-0.2:=[profile?] <dev-haskell/doclayout-0.5:=[profile?]
>=dev-haskell/hslua-2.1:=[profile?] <dev-haskell/hslua-2.3:=[profile?]
diff --git a/dev-haskell/hslua-module-path/hslua-module-path-1.0.2.ebuild b/dev-haskell/hslua-module-path/hslua-module-path-1.0.2.ebuild
index 298afabab542..dec168ce80bd 100644
--- a/dev-haskell/hslua-module-path/hslua-module-path-1.0.2.ebuild
+++ b/dev-haskell/hslua-module-path/hslua-module-path-1.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-core-2.1:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
>=dev-haskell/hslua-marshalling-2.1:=[profile?] <dev-haskell/hslua-marshalling-2.3:=[profile?]
diff --git a/dev-haskell/hslua-module-system/hslua-module-system-1.0.2.ebuild b/dev-haskell/hslua-module-system/hslua-module-system-1.0.2.ebuild
index ea33298675b9..dded0e5bfd14 100644
--- a/dev-haskell/hslua-module-system/hslua-module-system-1.0.2.ebuild
+++ b/dev-haskell/hslua-module-system/hslua-module-system-1.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/exceptions-0.8:=[profile?] <dev-haskell/exceptions-0.11:=[profile?]
>=dev-haskell/hslua-core-2.1:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
diff --git a/dev-haskell/hslua-module-text/hslua-module-text-1.0.2.ebuild b/dev-haskell/hslua-module-text/hslua-module-text-1.0.2.ebuild
index cf5f55735181..fe166a18c9cd 100644
--- a/dev-haskell/hslua-module-text/hslua-module-text-1.0.2.ebuild
+++ b/dev-haskell/hslua-module-text/hslua-module-text-1.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-core-2.1:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
>=dev-haskell/hslua-marshalling-2.1:=[profile?] <dev-haskell/hslua-marshalling-2.3:=[profile?]
diff --git a/dev-haskell/hslua-module-version/hslua-module-version-1.0.2.ebuild b/dev-haskell/hslua-module-version/hslua-module-version-1.0.2.ebuild
index e47b197926f7..b4346e95b6b7 100644
--- a/dev-haskell/hslua-module-version/hslua-module-version-1.0.2.ebuild
+++ b/dev-haskell/hslua-module-version/hslua-module-version-1.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-core-2.1:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
>=dev-haskell/hslua-marshalling-2.1:=[profile?] <dev-haskell/hslua-marshalling-2.3:=[profile?]
diff --git a/dev-haskell/hslua-objectorientation/hslua-objectorientation-2.2.0.ebuild b/dev-haskell/hslua-objectorientation/hslua-objectorientation-2.2.0.ebuild
index 74b2dda2e390..f0fe893bd438 100644
--- a/dev-haskell/hslua-objectorientation/hslua-objectorientation-2.2.0.ebuild
+++ b/dev-haskell/hslua-objectorientation/hslua-objectorientation-2.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-core-2.2:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
>=dev-haskell/hslua-marshalling-2.2:=[profile?] <dev-haskell/hslua-marshalling-2.3:=[profile?]
diff --git a/dev-haskell/hslua-packaging/hslua-packaging-2.2.0.ebuild b/dev-haskell/hslua-packaging/hslua-packaging-2.2.0.ebuild
index 0abd6c1ed919..04db5086a22b 100644
--- a/dev-haskell/hslua-packaging/hslua-packaging-2.2.0.ebuild
+++ b/dev-haskell/hslua-packaging/hslua-packaging-2.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-core-2.2:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
>=dev-haskell/hslua-marshalling-2.2:=[profile?] <dev-haskell/hslua-marshalling-2.3:=[profile?]
diff --git a/dev-haskell/hslua/hslua-2.2.0.ebuild b/dev-haskell/hslua/hslua-2.2.0.ebuild
index 944fef62e217..ccdbc2bd09cd 100644
--- a/dev-haskell/hslua/hslua-2.2.0.ebuild
+++ b/dev-haskell/hslua/hslua-2.2.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-aeson-2.2:=[profile?] <dev-haskell/hslua-aeson-2.3:=[profile?]
>=dev-haskell/hslua-classes-2.2:=[profile?] <dev-haskell/hslua-classes-2.3:=[profile?]
diff --git a/dev-haskell/hspec-contrib/hspec-contrib-0.5.1.ebuild b/dev-haskell/hspec-contrib/hspec-contrib-0.5.1.ebuild
index 078023f6b6c7..c2aa67b0a4f2 100644
--- a/dev-haskell/hspec-contrib/hspec-contrib-0.5.1.ebuild
+++ b/dev-haskell/hspec-contrib/hspec-contrib-0.5.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # test-suite fails to build
diff --git a/dev-haskell/hspec-core/hspec-core-2.9.4.ebuild b/dev-haskell/hspec-core/hspec-core-2.9.4.ebuild
index b9360fddc445..b1e1cf43f416 100644
--- a/dev-haskell/hspec-core/hspec-core-2.9.4.ebuild
+++ b/dev-haskell/hspec-core/hspec-core-2.9.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/ansi-terminal-0.6.2:=[profile?]
dev-haskell/call-stack:=[profile?]
diff --git a/dev-haskell/hspec-discover/hspec-discover-2.9.4.ebuild b/dev-haskell/hspec-discover/hspec-discover-2.9.4.ebuild
index 22159f102e6e..a1fbf99cb31b 100644
--- a/dev-haskell/hspec-discover/hspec-discover-2.9.4.ebuild
+++ b/dev-haskell/hspec-discover/hspec-discover-2.9.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/hspec-expectations/hspec-expectations-0.8.2.ebuild b/dev-haskell/hspec-expectations/hspec-expectations-0.8.2.ebuild
index 7e7bad22fe5a..11475eb6d1a6 100644
--- a/dev-haskell/hspec-expectations/hspec-expectations-0.8.2.ebuild
+++ b/dev-haskell/hspec-expectations/hspec-expectations-0.8.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/call-stack:=[profile?]
diff --git a/dev-haskell/hspec-meta/hspec-meta-2.9.3.ebuild b/dev-haskell/hspec-meta/hspec-meta-2.9.3.ebuild
index bdfb5c4658c3..ad72711b86b0 100644
--- a/dev-haskell/hspec-meta/hspec-meta-2.9.3.ebuild
+++ b/dev-haskell/hspec-meta/hspec-meta-2.9.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/ansi-terminal:=[profile?]
dev-haskell/call-stack:=[profile?]
diff --git a/dev-haskell/hspec-wai/hspec-wai-0.10.1.ebuild b/dev-haskell/hspec-wai/hspec-wai-0.10.1.ebuild
index 1a40288b345d..df9ddadbb4a9 100644
--- a/dev-haskell/hspec-wai/hspec-wai-0.10.1.ebuild
+++ b/dev-haskell/hspec-wai/hspec-wai-0.10.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/base-compat:=[profile?]
diff --git a/dev-haskell/hspec/hspec-2.9.4.ebuild b/dev-haskell/hspec/hspec-2.9.4.ebuild
index b716817a8e2a..f02cfb2e0e00 100644
--- a/dev-haskell/hspec/hspec-2.9.4.ebuild
+++ b/dev-haskell/hspec/hspec-2.9.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="~dev-haskell/hspec-core-2.9.4:=[profile?]
~dev-haskell/hspec-discover-2.9.4:=[profile?]
diff --git a/dev-haskell/hsyaml/hsyaml-0.2.1.0.ebuild b/dev-haskell/hsyaml/hsyaml-0.2.1.0.ebuild
index c97e996955d7..ea317b4a47c1 100644
--- a/dev-haskell/hsyaml/hsyaml-0.2.1.0.ebuild
+++ b/dev-haskell/hsyaml/hsyaml-0.2.1.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/fail-4.9.0.0:=[profile?] <dev-haskell/fail-4.10:=[profile?]
diff --git a/dev-haskell/html-conduit/html-conduit-1.3.2.1.ebuild b/dev-haskell/html-conduit/html-conduit-1.3.2.1.ebuild
index 3f51a0464e1d..76e0ba965dc7 100644
--- a/dev-haskell/html-conduit/html-conduit-1.3.2.1.ebuild
+++ b/dev-haskell/html-conduit/html-conduit-1.3.2.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/attoparsec:=[profile?]
diff --git a/dev-haskell/html/html-1.0.1.2-r1.ebuild b/dev-haskell/html/html-1.0.1.2-r1.ebuild
index f9ad2a1f9b75..167d4b5e27da 100644
--- a/dev-haskell/html/html-1.0.1.2-r1.ebuild
+++ b/dev-haskell/html/html-1.0.1.2-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/http-api-data/http-api-data-0.4.3.ebuild b/dev-haskell/http-api-data/http-api-data-0.4.3.ebuild
index fcf764974891..a23135f11518 100644
--- a/dev-haskell/http-api-data/http-api-data-0.4.3.ebuild
+++ b/dev-haskell/http-api-data/http-api-data-0.4.3.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="text-show"
RDEPEND=">=dev-haskell/attoparsec-0.13.2.2:=[profile?] <dev-haskell/attoparsec-0.15:=[profile?]
diff --git a/dev-haskell/http-client-restricted/http-client-restricted-0.0.5.ebuild b/dev-haskell/http-client-restricted/http-client-restricted-0.0.5.ebuild
index 0c1026839790..b354ab359f94 100644
--- a/dev-haskell/http-client-restricted/http-client-restricted-0.0.5.ebuild
+++ b/dev-haskell/http-client-restricted/http-client-restricted-0.0.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/connection-0.2.5:=[profile?]
dev-haskell/data-default:=[profile?]
diff --git a/dev-haskell/http-client-tls/http-client-tls-0.3.6.1.ebuild b/dev-haskell/http-client-tls/http-client-tls-0.3.6.1.ebuild
index 872666a47133..e4a1eb923802 100644
--- a/dev-haskell/http-client-tls/http-client-tls-0.3.6.1.ebuild
+++ b/dev-haskell/http-client-tls/http-client-tls-0.3.6.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RESTRICT=test # requires network access
diff --git a/dev-haskell/http-client/http-client-0.7.11.ebuild b/dev-haskell/http-client/http-client-0.7.11.ebuild
index 474fb0cf98a3..de0d480b75e8 100644
--- a/dev-haskell/http-client/http-client-0.7.11.ebuild
+++ b/dev-haskell/http-client/http-client-0.7.11.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/async:=[profile?]
>=dev-haskell/base64-bytestring-1.0:=[profile?]
diff --git a/dev-haskell/http-conduit/http-conduit-2.3.8.ebuild b/dev-haskell/http-conduit/http-conduit-2.3.8.ebuild
index 9150ebffb9a1..926ec7746444 100644
--- a/dev-haskell/http-conduit/http-conduit-2.3.8.ebuild
+++ b/dev-haskell/http-conduit/http-conduit-2.3.8.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # needs network
diff --git a/dev-haskell/http-date/http-date-0.0.8.ebuild b/dev-haskell/http-date/http-date-0.0.8.ebuild
index a24c9a68da4e..0f791df74f89 100644
--- a/dev-haskell/http-date/http-date-0.0.8.ebuild
+++ b/dev-haskell/http-date/http-date-0.0.8.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # Ambiguous module name ‘Data.Time’: it was found in multiple packages: pulseaudio-0.0.2.1 time-1.8.0.2
diff --git a/dev-haskell/http-media/http-media-0.8.0.0.ebuild b/dev-haskell/http-media/http-media-0.8.0.0.ebuild
index d73bfbb072be..dfea55661a47 100644
--- a/dev-haskell/http-media/http-media-0.8.0.0.ebuild
+++ b/dev-haskell/http-media/http-media-0.8.0.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/case-insensitive-1.0:=[profile?] <dev-haskell/case-insensitive-1.3:=[profile?]
diff --git a/dev-haskell/http-types/http-types-0.12.3.ebuild b/dev-haskell/http-types/http-types-0.12.3.ebuild
index 53ac094f05a4..8df1e56a3884 100644
--- a/dev-haskell/http-types/http-types-0.12.3.ebuild
+++ b/dev-haskell/http-types/http-types-0.12.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/case-insensitive-0.2:=[profile?] <dev-haskell/case-insensitive-1.3:=[profile?]
diff --git a/dev-haskell/http/http-4000.4.1.ebuild b/dev-haskell/http/http-4000.4.1.ebuild
index 14bc42d0a101..fccf44337e13 100644
--- a/dev-haskell/http/http-4000.4.1.ebuild
+++ b/dev-haskell/http/http-4000.4.1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-3.2:=[profile?]
>=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?]
diff --git a/dev-haskell/http2/http2-3.0.1.ebuild b/dev-haskell/http2/http2-3.0.1.ebuild
index 52e139c496b5..35dca6f66f6f 100644
--- a/dev-haskell/http2/http2-3.0.1.ebuild
+++ b/dev-haskell/http2/http2-3.0.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RESTRICT=test # test suite requires too new dependencies
diff --git a/dev-haskell/httpd-shed/httpd-shed-0.4.1.1-r1.ebuild b/dev-haskell/httpd-shed/httpd-shed-0.4.1.1-r1.ebuild
index 2ebddc7d928c..048599c6a25e 100644
--- a/dev-haskell/httpd-shed/httpd-shed-0.4.1.1-r1.ebuild
+++ b/dev-haskell/httpd-shed/httpd-shed-0.4.1.1-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="buildexamples"
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/hunit/hunit-1.6.2.0.ebuild b/dev-haskell/hunit/hunit-1.6.2.0.ebuild
index 202c7484150c..d193460f1eb5 100644
--- a/dev-haskell/hunit/hunit-1.6.2.0.ebuild
+++ b/dev-haskell/hunit/hunit-1.6.2.0.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/call-stack-0.3.0:=[profile?]
diff --git a/dev-haskell/ieee754/ieee754-0.7.8.ebuild b/dev-haskell/ieee754/ieee754-0.7.8.ebuild
index 9d9b23e7be9e..f0eb1c63da20 100644
--- a/dev-haskell/ieee754/ieee754-0.7.8.ebuild
+++ b/dev-haskell/ieee754/ieee754-0.7.8.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/ifelse/ifelse-0.85-r1.ebuild b/dev-haskell/ifelse/ifelse-0.85-r1.ebuild
index 55692bfc4ce9..ea3e4469dd4b 100644
--- a/dev-haskell/ifelse/ifelse-0.85-r1.ebuild
+++ b/dev-haskell/ifelse/ifelse-0.85-r1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE=""
RDEPEND="dev-haskell/mtl:=[profile?]
diff --git a/dev-haskell/indexed-traversable-instances/indexed-traversable-instances-0.1.ebuild b/dev-haskell/indexed-traversable-instances/indexed-traversable-instances-0.1.ebuild
index b3aee54e19d0..e16c527e4858 100644
--- a/dev-haskell/indexed-traversable-instances/indexed-traversable-instances-0.1.ebuild
+++ b/dev-haskell/indexed-traversable-instances/indexed-traversable-instances-0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/indexed-traversable-0.1:=[profile?] <dev-haskell/indexed-traversable-0.2:=[profile?]
>=dev-haskell/tagged-0.8.6:=[profile?] <dev-haskell/tagged-0.9:=[profile?]
diff --git a/dev-haskell/indexed-traversable/indexed-traversable-0.1.2.ebuild b/dev-haskell/indexed-traversable/indexed-traversable-0.1.2.ebuild
index 7655bddc8422..d6c8720f80f1 100644
--- a/dev-haskell/indexed-traversable/indexed-traversable-0.1.2.ebuild
+++ b/dev-haskell/indexed-traversable/indexed-traversable-0.1.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/integer-logarithms/integer-logarithms-1.0.3.1-r1.ebuild b/dev-haskell/integer-logarithms/integer-logarithms-1.0.3.1-r1.ebuild
index 6eb3c519e9ae..9634d976ad9c 100644
--- a/dev-haskell/integer-logarithms/integer-logarithms-1.0.3.1-r1.ebuild
+++ b/dev-haskell/integer-logarithms/integer-logarithms-1.0.3.1-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
#circular dependency: scientific -> integer-logarithms -> tasty -> scientific
diff --git a/dev-haskell/invariant/invariant-0.5.5.ebuild b/dev-haskell/invariant/invariant-0.5.5.ebuild
index e2d0a662c9f1..1bcf64797343 100644
--- a/dev-haskell/invariant/invariant-0.5.5.ebuild
+++ b/dev-haskell/invariant/invariant-0.5.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/bifunctors-5.2:=[profile?] <dev-haskell/bifunctors-6:=[profile?]
>=dev-haskell/comonad-5:=[profile?] <dev-haskell/comonad-6:=[profile?]
diff --git a/dev-haskell/iproute/iproute-1.7.8.ebuild b/dev-haskell/iproute/iproute-1.7.8.ebuild
index 899941877a2e..b9f1ddeba8b3 100644
--- a/dev-haskell/iproute/iproute-1.7.8.ebuild
+++ b/dev-haskell/iproute/iproute-1.7.8.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # Ambiguous modules: byte-order-0.1.2.0 byteorder-1.0.4
diff --git a/dev-haskell/ipynb/ipynb-0.2.ebuild b/dev-haskell/ipynb/ipynb-0.2.ebuild
index 2ff4bf554ff2..0480766975b5 100644
--- a/dev-haskell/ipynb/ipynb-0.2.ebuild
+++ b/dev-haskell/ipynb/ipynb-0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/aeson-1.5.2.0:=[profile?]
dev-haskell/base64-bytestring:=[profile?]
diff --git a/dev-haskell/jira-wiki-markup/jira-wiki-markup-1.4.0.ebuild b/dev-haskell/jira-wiki-markup/jira-wiki-markup-1.4.0.ebuild
index abe9d9ae4dfe..483164b37994 100644
--- a/dev-haskell/jira-wiki-markup/jira-wiki-markup-1.4.0.ebuild
+++ b/dev-haskell/jira-wiki-markup/jira-wiki-markup-1.4.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/mtl-2.2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
>=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
diff --git a/dev-haskell/js-chart/js-chart-2.9.4.1.ebuild b/dev-haskell/js-chart/js-chart-2.9.4.1.ebuild
index cf1ad34f19ee..9ae36ab0dde7 100644
--- a/dev-haskell/js-chart/js-chart-2.9.4.1.ebuild
+++ b/dev-haskell/js-chart/js-chart-2.9.4.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/juicypixels/juicypixels-3.3.5.ebuild b/dev-haskell/juicypixels/juicypixels-3.3.5.ebuild
index f99fc0a9643f..0df3fb07d82d 100644
--- a/dev-haskell/juicypixels/juicypixels-3.3.5.ebuild
+++ b/dev-haskell/juicypixels/juicypixels-3.3.5.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="mmap"
RDEPEND=">=dev-haskell/mtl-1.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
diff --git a/dev-haskell/kan-extensions/kan-extensions-5.2.5.ebuild b/dev-haskell/kan-extensions/kan-extensions-5.2.5.ebuild
index 5b344e1af000..3b6791b366ab 100644
--- a/dev-haskell/kan-extensions/kan-extensions-5.2.5.ebuild
+++ b/dev-haskell/kan-extensions/kan-extensions-5.2.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/adjunctions-4.2:=[profile?] <dev-haskell/adjunctions-5:=[profile?]
>=dev-haskell/comonad-4:=[profile?] <dev-haskell/comonad-6:=[profile?]
diff --git a/dev-haskell/language-c/language-c-0.8.3-r1.ebuild b/dev-haskell/language-c/language-c-0.8.3-r1.ebuild
index 0ddd95afb98d..8e0d879d7f3d 100644
--- a/dev-haskell/language-c/language-c-0.8.3-r1.ebuild
+++ b/dev-haskell/language-c/language-c-0.8.3-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/syb:=[profile?]
diff --git a/dev-haskell/language-haskell-extract/language-haskell-extract-0.2.4-r1.ebuild b/dev-haskell/language-haskell-extract/language-haskell-extract-0.2.4-r1.ebuild
index c7c8009e5ea5..189cac22b2c6 100644
--- a/dev-haskell/language-haskell-extract/language-haskell-extract-0.2.4-r1.ebuild
+++ b/dev-haskell/language-haskell-extract/language-haskell-extract-0.2.4-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/regex-posix:=[profile?]
diff --git a/dev-haskell/language-javascript/language-javascript-0.6.0.14.ebuild b/dev-haskell/language-javascript/language-javascript-0.6.0.14.ebuild
index 27555ce718fe..3ed98a00bfdb 100644
--- a/dev-haskell/language-javascript/language-javascript-0.6.0.14.ebuild
+++ b/dev-haskell/language-javascript/language-javascript-0.6.0.14.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/blaze-builder-0.2:=[profile?]
diff --git a/dev-haskell/leancheck/leancheck-0.9.3.ebuild b/dev-haskell/leancheck/leancheck-0.9.3.ebuild
index a398399f4407..7b867b150944 100644
--- a/dev-haskell/leancheck/leancheck-0.9.3.ebuild
+++ b/dev-haskell/leancheck/leancheck-0.9.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/lens/lens-5.1.1.ebuild b/dev-haskell/lens/lens-5.1.1.ebuild
index a420bf64f2af..92d99242552e 100644
--- a/dev-haskell/lens/lens-5.1.1.ebuild
+++ b/dev-haskell/lens/lens-5.1.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/assoc-1.0.2:=[profile?] <dev-haskell/assoc-1.1:=[profile?]
>=dev-haskell/base-orphans-0.5.2:=[profile?] <dev-haskell/base-orphans-1:=[profile?]
diff --git a/dev-haskell/libmpd/libmpd-0.9.2.0.ebuild b/dev-haskell/libmpd/libmpd-0.9.2.0.ebuild
index 63eb77689431..97f3dfe3d943 100644
--- a/dev-haskell/libmpd/libmpd-0.9.2.0.ebuild
+++ b/dev-haskell/libmpd/libmpd-0.9.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/attoparsec-0.10.1:=[profile?] <dev-haskell/attoparsec-1:=[profile?]
diff --git a/dev-haskell/libyaml/libyaml-0.1.2.ebuild b/dev-haskell/libyaml/libyaml-0.1.2.ebuild
index e46b35817d99..ecbf7a42351f 100644
--- a/dev-haskell/libyaml/libyaml-0.1.2.ebuild
+++ b/dev-haskell/libyaml/libyaml-0.1.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="no-unicode system-libyaml"
RDEPEND=">=dev-haskell/conduit-1.2.8:=[profile?] <dev-haskell/conduit-1.4:=[profile?]
diff --git a/dev-haskell/lift-type/lift-type-0.1.0.1.ebuild b/dev-haskell/lift-type/lift-type-0.1.0.1.ebuild
index 3d091da20858..938bce140fb9 100644
--- a/dev-haskell/lift-type/lift-type-0.1.0.1.ebuild
+++ b/dev-haskell/lift-type/lift-type-0.1.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/lifted-async/lifted-async-0.10.2.ebuild b/dev-haskell/lifted-async/lifted-async-0.10.2.ebuild
index abe413470792..bb1c13f290e0 100644
--- a/dev-haskell/lifted-async/lifted-async-0.10.2.ebuild
+++ b/dev-haskell/lifted-async/lifted-async-0.10.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/async-2.2:=[profile?] <dev-haskell/async-2.3:=[profile?]
>=dev-haskell/constraints-0.2:=[profile?] <dev-haskell/constraints-0.14:=[profile?]
diff --git a/dev-haskell/lifted-base/lifted-base-0.2.3.12.ebuild b/dev-haskell/lifted-base/lifted-base-0.2.3.12.ebuild
index bc8b9ff63c45..a8ff747859ed 100644
--- a/dev-haskell/lifted-base/lifted-base-0.2.3.12.ebuild
+++ b/dev-haskell/lifted-base/lifted-base-0.2.3.12.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE=""
RDEPEND=">=dev-haskell/monad-control-0.3:=[profile?]
diff --git a/dev-haskell/logging-facade/logging-facade-0.3.0.ebuild b/dev-haskell/logging-facade/logging-facade-0.3.0.ebuild
index 2acd4e49bcef..735db7044753 100644
--- a/dev-haskell/logging-facade/logging-facade-0.3.0.ebuild
+++ b/dev-haskell/logging-facade/logging-facade-0.3.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/call-stack:=[profile?]
diff --git a/dev-haskell/logict/logict-0.7.0.3.ebuild b/dev-haskell/logict/logict-0.7.0.3.ebuild
index 13950a53706c..38980435b789 100644
--- a/dev-haskell/logict/logict-0.7.0.3.ebuild
+++ b/dev-haskell/logict/logict-0.7.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/fail:=[profile?]
diff --git a/dev-haskell/lpeg/lpeg-1.0.3.ebuild b/dev-haskell/lpeg/lpeg-1.0.3.ebuild
index 5434ea23546f..c99513d0dbda 100644
--- a/dev-haskell/lpeg/lpeg-1.0.3.ebuild
+++ b/dev-haskell/lpeg/lpeg-1.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="rely-on-shared-lpeg-library"
RDEPEND=">=dev-haskell/lua-2.1:=[profile?] <dev-haskell/lua-2.3:=[profile?]
diff --git a/dev-haskell/lua-arbitrary/lua-arbitrary-1.0.1.ebuild b/dev-haskell/lua-arbitrary/lua-arbitrary-1.0.1.ebuild
index 1f1a53ace941..7a4c08b2e993 100644
--- a/dev-haskell/lua-arbitrary/lua-arbitrary-1.0.1.ebuild
+++ b/dev-haskell/lua-arbitrary/lua-arbitrary-1.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/lua-2.0:=[profile?] <dev-haskell/lua-2.3:=[profile?]
>=dev-haskell/quickcheck-2.7:2=[profile?] <dev-haskell/quickcheck-3:2=[profile?]
diff --git a/dev-haskell/lua/lua-2.2.0.ebuild b/dev-haskell/lua/lua-2.2.0.ebuild
index 04579cdb960e..7e8afe830ccf 100644
--- a/dev-haskell/lua/lua-2.2.0.ebuild
+++ b/dev-haskell/lua/lua-2.2.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="system-lua"
RDEPEND=">=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/lukko/lukko-0.1.1.3.ebuild b/dev-haskell/lukko/lukko-0.1.1.3.ebuild
index 15c2591b2217..ba28ea89bd4b 100644
--- a/dev-haskell/lukko/lukko-0.1.1.3.ebuild
+++ b/dev-haskell/lukko/lukko-0.1.1.3.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="GPL-2 BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/magic/magic-1.1.ebuild b/dev-haskell/magic/magic-1.1.ebuild
index 33eb7fd0a480..7deb5e8ca8c3 100644
--- a/dev-haskell/magic/magic-1.1.ebuild
+++ b/dev-haskell/magic/magic-1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/markdown-unlit/markdown-unlit-0.5.0.ebuild b/dev-haskell/markdown-unlit/markdown-unlit-0.5.0.ebuild
index c2ab92962e2c..91cae7652559 100644
--- a/dev-haskell/markdown-unlit/markdown-unlit-0.5.0.ebuild
+++ b/dev-haskell/markdown-unlit/markdown-unlit-0.5.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/base-compat:=[profile?]
diff --git a/dev-haskell/math-functions/math-functions-0.3.3.0.ebuild b/dev-haskell/math-functions/math-functions-0.3.3.0.ebuild
index ab302622f5c8..d5057bc437c8 100644
--- a/dev-haskell/math-functions/math-functions-0.3.3.0.ebuild
+++ b/dev-haskell/math-functions/math-functions-0.3.3.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/data-default-class-0.1.2.0:=[profile?]
diff --git a/dev-haskell/memory/memory-0.15.0-r1.ebuild b/dev-haskell/memory/memory-0.15.0-r1.ebuild
index e623aa814b98..5af492adae35 100644
--- a/dev-haskell/memory/memory-0.15.0-r1.ebuild
+++ b/dev-haskell/memory/memory-0.15.0-r1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/basement-0.0.7:=[profile?]
diff --git a/dev-haskell/microlens-aeson/microlens-aeson-2.5.0.ebuild b/dev-haskell/microlens-aeson/microlens-aeson-2.5.0.ebuild
index 88de6610d464..8d7abf37792d 100644
--- a/dev-haskell/microlens-aeson/microlens-aeson-2.5.0.ebuild
+++ b/dev-haskell/microlens-aeson/microlens-aeson-2.5.0.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://github.com/fosskers/microlens-aeson/"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/aeson-2.0:=[profile?]
>=dev-haskell/attoparsec-0.10:=[profile?]
diff --git a/dev-haskell/microlens-mtl/microlens-mtl-0.2.0.1.ebuild b/dev-haskell/microlens-mtl/microlens-mtl-0.2.0.1.ebuild
index bca2d0cb886e..be86ec150fe0 100644
--- a/dev-haskell/microlens-mtl/microlens-mtl-0.2.0.1.ebuild
+++ b/dev-haskell/microlens-mtl/microlens-mtl-0.2.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/microlens-0.4:=[profile?] <dev-haskell/microlens-0.5:=[profile?]
diff --git a/dev-haskell/microlens-th/microlens-th-0.4.3.10.ebuild b/dev-haskell/microlens-th/microlens-th-0.4.3.10.ebuild
index 0bb198bab349..f97a011ab1a3 100644
--- a/dev-haskell/microlens-th/microlens-th-0.4.3.10.ebuild
+++ b/dev-haskell/microlens-th/microlens-th-0.4.3.10.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/microlens-0.4.0:=[profile?] <dev-haskell/microlens-0.5:=[profile?]
>=dev-haskell/th-abstraction-0.4.1:=[profile?] <dev-haskell/th-abstraction-0.5:=[profile?]
diff --git a/dev-haskell/microlens/microlens-0.4.11.2.ebuild b/dev-haskell/microlens/microlens-0.4.11.2.ebuild
index d70da370a1ff..5f0f4b04d1cd 100644
--- a/dev-haskell/microlens/microlens-0.4.11.2.ebuild
+++ b/dev-haskell/microlens/microlens-0.4.11.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.8.2:=
diff --git a/dev-haskell/microstache/microstache-1.0.2.ebuild b/dev-haskell/microstache/microstache-1.0.2.ebuild
index e7396b72c267..4ec8a134d076 100644
--- a/dev-haskell/microstache/microstache-1.0.2.ebuild
+++ b/dev-haskell/microstache/microstache-1.0.2.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/aeson-0.11:=[profile?] <dev-haskell/aeson-2.1:=[profile?]
>=dev-haskell/unordered-containers-0.2.5:=[profile?] <dev-haskell/unordered-containers-0.3:=[profile?]
diff --git a/dev-haskell/mime-types/mime-types-0.1.0.9.ebuild b/dev-haskell/mime-types/mime-types-0.1.0.9.ebuild
index 788ea687d917..ad51cece2b3a 100644
--- a/dev-haskell/mime-types/mime-types-0.1.0.9.ebuild
+++ b/dev-haskell/mime-types/mime-types-0.1.0.9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/text:=[profile?]
diff --git a/dev-haskell/missingh/missingh-1.4.3.0-r1.ebuild b/dev-haskell/missingh/missingh-1.4.3.0-r1.ebuild
index 67613d6c2956..fcee61953078 100644
--- a/dev-haskell/missingh/missingh-1.4.3.0-r1.ebuild
+++ b/dev-haskell/missingh/missingh-1.4.3.0-r1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
RESTRICT=test # tests are present for removed modules
diff --git a/dev-haskell/mmap/mmap-0.5.9.ebuild b/dev-haskell/mmap/mmap-0.5.9.ebuild
index 11fb3fea279a..84152caba556 100644
--- a/dev-haskell/mmap/mmap-0.5.9.ebuild
+++ b/dev-haskell/mmap/mmap-0.5.9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
# IUSE="test"
IUSE=""
diff --git a/dev-haskell/mmorph/mmorph-1.1.3.ebuild b/dev-haskell/mmorph/mmorph-1.1.3.ebuild
index 230bce1c1f62..0c8d325b3bd9 100644
--- a/dev-haskell/mmorph/mmorph-1.1.3.ebuild
+++ b/dev-haskell/mmorph/mmorph-1.1.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/mtl-2.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
diff --git a/dev-haskell/mockery/mockery-0.3.5.ebuild b/dev-haskell/mockery/mockery-0.3.5.ebuild
index 55e6b70f4dbd..5457c281eaf1 100644
--- a/dev-haskell/mockery/mockery-0.3.5.ebuild
+++ b/dev-haskell/mockery/mockery-0.3.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/base-compat:=[profile?]
diff --git a/dev-haskell/monad-control/monad-control-1.0.2.3.ebuild b/dev-haskell/monad-control/monad-control-1.0.2.3.ebuild
index 9c8606c78d8d..48fc2bb5fe10 100644
--- a/dev-haskell/monad-control/monad-control-1.0.2.3.ebuild
+++ b/dev-haskell/monad-control/monad-control-1.0.2.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE=""
RDEPEND=">=dev-haskell/stm-2.3:=[profile?] <dev-haskell/stm-3:=[profile?]
diff --git a/dev-haskell/monad-logger/monad-logger-0.3.32.ebuild b/dev-haskell/monad-logger/monad-logger-0.3.32.ebuild
index 6a057a8cf990..ef2b8d43245d 100644
--- a/dev-haskell/monad-logger/monad-logger-0.3.32.ebuild
+++ b/dev-haskell/monad-logger/monad-logger-0.3.32.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+template-haskell"
RDEPEND=">=dev-haskell/conduit-1.0:=[profile?] <dev-haskell/conduit-1.4:=[profile?]
diff --git a/dev-haskell/monad-loops/monad-loops-0.4.3.ebuild b/dev-haskell/monad-loops/monad-loops-0.4.3.ebuild
index 46d7541e1cbf..a1dcb58422f4 100644
--- a/dev-haskell/monad-loops/monad-loops-0.4.3.ebuild
+++ b/dev-haskell/monad-loops/monad-loops-0.4.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/monad-par-extras/monad-par-extras-0.3.3-r1.ebuild b/dev-haskell/monad-par-extras/monad-par-extras-0.3.3-r1.ebuild
index a25f6cb320bd..d2a3c042d459 100644
--- a/dev-haskell/monad-par-extras/monad-par-extras-0.3.3-r1.ebuild
+++ b/dev-haskell/monad-par-extras/monad-par-extras-0.3.3-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/abstract-par-0.3:=[profile?] <dev-haskell/abstract-par-0.4:=[profile?]
diff --git a/dev-haskell/monad-par/monad-par-0.3.5-r1.ebuild b/dev-haskell/monad-par/monad-par-0.3.5-r1.ebuild
index e8e6cd8feeb7..737182f7a914 100644
--- a/dev-haskell/monad-par/monad-par-0.3.5-r1.ebuild
+++ b/dev-haskell/monad-par/monad-par-0.3.5-r1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://github.com/simonmar/monad-par"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="chaselev"
RDEPEND=">=dev-haskell/abstract-deque-0.1.4:=[profile?]
diff --git a/dev-haskell/monads-tf/monads-tf-0.1.0.3.ebuild b/dev-haskell/monads-tf/monads-tf-0.1.0.3.ebuild
index 72e40052745d..ad9d5a8fcfc9 100644
--- a/dev-haskell/monads-tf/monads-tf-0.1.0.3.ebuild
+++ b/dev-haskell/monads-tf/monads-tf-0.1.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/transformers-0.2.0.0:=[profile?] <dev-haskell/transformers-0.6:=[profile?]
diff --git a/dev-haskell/mono-traversable/mono-traversable-1.0.15.1.ebuild b/dev-haskell/mono-traversable/mono-traversable-1.0.15.1.ebuild
index bef7bcab3cd3..adac9410b2c0 100644
--- a/dev-haskell/mono-traversable/mono-traversable-1.0.15.1.ebuild
+++ b/dev-haskell/mono-traversable/mono-traversable-1.0.15.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/hashable:=[profile?]
diff --git a/dev-haskell/mountpoints/mountpoints-1.0.2.ebuild b/dev-haskell/mountpoints/mountpoints-1.0.2.ebuild
index b144fc0aa833..00b8b23338f5 100644
--- a/dev-haskell/mountpoints/mountpoints-1.0.2.ebuild
+++ b/dev-haskell/mountpoints/mountpoints-1.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/mtl/mtl-2.2.2.ebuild b/dev-haskell/mtl/mtl-2.2.2.ebuild
index 7cc8a5319246..c12ed9643140 100644
--- a/dev-haskell/mtl/mtl-2.2.2.ebuild
+++ b/dev-haskell/mtl/mtl-2.2.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.10.1:=
diff --git a/dev-haskell/mwc-random/mwc-random-0.14.0.0.ebuild b/dev-haskell/mwc-random/mwc-random-0.14.0.0.ebuild
index b49a405646c1..007de2319026 100644
--- a/dev-haskell/mwc-random/mwc-random-0.14.0.0.ebuild
+++ b/dev-haskell/mwc-random/mwc-random-0.14.0.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/math-functions-0.2.1.0:=[profile?]
diff --git a/dev-haskell/nanospec/nanospec-0.2.2.ebuild b/dev-haskell/nanospec/nanospec-0.2.2.ebuild
index d3d10530b891..b857b003e6f1 100644
--- a/dev-haskell/nanospec/nanospec-0.2.2.ebuild
+++ b/dev-haskell/nanospec/nanospec-0.2.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # cyclic depend: silently[test]->nanospec
diff --git a/dev-haskell/nats/nats-1.1.2-r1.ebuild b/dev-haskell/nats/nats-1.1.2-r1.ebuild
index 86b1d3cd8dd7..b7f57d7acae9 100644
--- a/dev-haskell/nats/nats-1.1.2-r1.ebuild
+++ b/dev-haskell/nats/nats-1.1.2-r1.ebuild
@@ -19,7 +19,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+binary +hashable +template-haskell"
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/netlink/netlink-1.1.1.0-r1.ebuild b/dev-haskell/netlink/netlink-1.1.1.0-r1.ebuild
index a51fa796727c..899dbe7dea80 100644
--- a/dev-haskell/netlink/netlink-1.1.1.0-r1.ebuild
+++ b/dev-haskell/netlink/netlink-1.1.1.0-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/cereal-0.3:=[profile?]
>=dev-haskell/monad-loops-0.3:=[profile?]
diff --git a/dev-haskell/network-bsd/network-bsd-2.8.1.0-r1.ebuild b/dev-haskell/network-bsd/network-bsd-2.8.1.0-r1.ebuild
index 61a1e6838fdc..15c30c07888a 100644
--- a/dev-haskell/network-bsd/network-bsd-2.8.1.0-r1.ebuild
+++ b/dev-haskell/network-bsd/network-bsd-2.8.1.0-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.8.2:=
diff --git a/dev-haskell/network-byte-order/network-byte-order-0.1.6.ebuild b/dev-haskell/network-byte-order/network-byte-order-0.1.6.ebuild
index e47e73ca8bc4..c19fe1692bd5 100644
--- a/dev-haskell/network-byte-order/network-byte-order-0.1.6.ebuild
+++ b/dev-haskell/network-byte-order/network-byte-order-0.1.6.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.10.1:=
diff --git a/dev-haskell/network-info/network-info-0.2.0.10.ebuild b/dev-haskell/network-info/network-info-0.2.0.10.ebuild
index a415b2d0f110..f8fd2bba0f33 100644
--- a/dev-haskell/network-info/network-info-0.2.0.10.ebuild
+++ b/dev-haskell/network-info/network-info-0.2.0.10.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/network-multicast/network-multicast-0.3.2.ebuild b/dev-haskell/network-multicast/network-multicast-0.3.2.ebuild
index dffa7ce6f579..3bef0617f265 100644
--- a/dev-haskell/network-multicast/network-multicast-0.3.2.ebuild
+++ b/dev-haskell/network-multicast/network-multicast-0.3.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/network:=[profile?]
diff --git a/dev-haskell/network-uri/network-uri-2.6.4.1.ebuild b/dev-haskell/network-uri/network-uri-2.6.4.1.ebuild
index a462f00849ce..00acaf614938 100644
--- a/dev-haskell/network-uri/network-uri-2.6.4.1.ebuild
+++ b/dev-haskell/network-uri/network-uri-2.6.4.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
RESTRICT=test # circular depend: network-uri[test]->criterion->js-flot->http->network-uri
diff --git a/dev-haskell/network/network-3.1.2.5.ebuild b/dev-haskell/network/network-3.1.2.5.ebuild
index eaa8c7110222..72ad0f33f269 100644
--- a/dev-haskell/network/network-3.1.2.5.ebuild
+++ b/dev-haskell/network/network-3.1.2.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="devel"
RDEPEND=">=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/old-locale/old-locale-1.0.0.7.ebuild b/dev-haskell/old-locale/old-locale-1.0.0.7.ebuild
index a9d031e921d7..1a370e7c1d97 100644
--- a/dev-haskell/old-locale/old-locale-1.0.0.7.ebuild
+++ b/dev-haskell/old-locale/old-locale-1.0.0.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/old-time/old-time-1.1.0.3-r1.ebuild b/dev-haskell/old-time/old-time-1.1.0.3-r1.ebuild
index ff3a4753f50b..dc55a3f05732 100644
--- a/dev-haskell/old-time/old-time-1.1.0.3-r1.ebuild
+++ b/dev-haskell/old-time/old-time-1.1.0.3-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-haskell/old-locale-1.0:=[profile?] <dev-haskell/old-locale-1.1:=[profile?]
diff --git a/dev-haskell/onetuple/onetuple-0.3.1.ebuild b/dev-haskell/onetuple/onetuple-0.3.1.ebuild
index 6c70f9189748..7a150032aa35 100644
--- a/dev-haskell/onetuple/onetuple-0.3.1.ebuild
+++ b/dev-haskell/onetuple/onetuple-0.3.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://hackage.haskell.org/package/OneTuple"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/base-orphans-0.8.6:=[profile?]
>=dev-haskell/hashable-1.3.5.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
diff --git a/dev-haskell/only/only-0.1.ebuild b/dev-haskell/only/only-0.1.ebuild
index a91b9b02c2e2..749e4aaa44db 100644
--- a/dev-haskell/only/only-0.1.ebuild
+++ b/dev-haskell/only/only-0.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/options/options-1.2.1.1.ebuild b/dev-haskell/options/options-1.2.1.1.ebuild
index e577ec55f887..cdfb7105b0de 100644
--- a/dev-haskell/options/options-1.2.1.1.ebuild
+++ b/dev-haskell/options/options-1.2.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # circular depends: options[test]->chell->options
diff --git a/dev-haskell/optparse-applicative/optparse-applicative-0.16.1.0.ebuild b/dev-haskell/optparse-applicative/optparse-applicative-0.16.1.0.ebuild
index 9e05e6b83122..662b9baa6a99 100644
--- a/dev-haskell/optparse-applicative/optparse-applicative-0.16.1.0.ebuild
+++ b/dev-haskell/optparse-applicative/optparse-applicative-0.16.1.0.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/ansi-wl-pprint-0.6.8:=[profile?] <dev-haskell/ansi-wl-pprint-0.7:=[profile?]
>=dev-haskell/transformers-compat-0.3:=[profile?] <dev-haskell/transformers-compat-0.8:=[profile?]
diff --git a/dev-haskell/pandoc-lua-marshal/pandoc-lua-marshal-0.1.6.ebuild b/dev-haskell/pandoc-lua-marshal/pandoc-lua-marshal-0.1.6.ebuild
index c107a40ddf90..b135150d2cd1 100644
--- a/dev-haskell/pandoc-lua-marshal/pandoc-lua-marshal-0.1.6.ebuild
+++ b/dev-haskell/pandoc-lua-marshal/pandoc-lua-marshal-0.1.6.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-2.1:=[profile?] <dev-haskell/hslua-2.3:=[profile?]
>=dev-haskell/hslua-marshalling-2.1:=[profile?] <dev-haskell/hslua-marshalling-2.3:=[profile?]
diff --git a/dev-haskell/pandoc-types/pandoc-types-1.22.2.ebuild b/dev-haskell/pandoc-types/pandoc-types-1.22.2.ebuild
index a4e530e46e1c..5ce56341da8b 100644
--- a/dev-haskell/pandoc-types/pandoc-types-1.22.2.ebuild
+++ b/dev-haskell/pandoc-types/pandoc-types-1.22.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/aeson-0.6.2:=[profile?] <dev-haskell/aeson-2.1:=[profile?]
>=dev-haskell/quickcheck-2.10:2=[profile?] <dev-haskell/quickcheck-2.15:2=[profile?]
diff --git a/dev-haskell/parallel-io/parallel-io-0.3.5.ebuild b/dev-haskell/parallel-io/parallel-io-0.3.5.ebuild
index ff8c964549a5..ef11ecf557b9 100644
--- a/dev-haskell/parallel-io/parallel-io-0.3.5.ebuild
+++ b/dev-haskell/parallel-io/parallel-io-0.3.5.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">dev-haskell/extensible-exceptions-0.1.0.1:=[profile?]
>=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.3:=[profile?]
diff --git a/dev-haskell/parallel/parallel-3.2.2.0.ebuild b/dev-haskell/parallel/parallel-3.2.2.0.ebuild
index b873747b5d6d..3aea17eca9b5 100644
--- a/dev-haskell/parallel/parallel-3.2.2.0.ebuild
+++ b/dev-haskell/parallel/parallel-3.2.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="3/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/parsec-numbers/parsec-numbers-0.1.0.ebuild b/dev-haskell/parsec-numbers/parsec-numbers-0.1.0.ebuild
index c2a454d958ae..c0565723e0bb 100644
--- a/dev-haskell/parsec-numbers/parsec-numbers-0.1.0.ebuild
+++ b/dev-haskell/parsec-numbers/parsec-numbers-0.1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="parsec1"
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/parsec/parsec-3.1.14.0-r1.ebuild b/dev-haskell/parsec/parsec-3.1.14.0-r1.ebuild
index 508110f2b46d..c64006fcee50 100644
--- a/dev-haskell/parsec/parsec-3.1.14.0-r1.ebuild
+++ b/dev-haskell/parsec/parsec-3.1.14.0-r1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
# keep in sync with ghc-8.8
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
RESTRICT=test # circular dependencies: dev-haskell/base-orphans->cabal->parsec[test]->test-framework-hunit->test-framework->base-orphans
diff --git a/dev-haskell/parsec1/parsec1-1.0.0.7.ebuild b/dev-haskell/parsec1/parsec1-1.0.0.7.ebuild
index 95e79234fb81..c93aed38aa34 100644
--- a/dev-haskell/parsec1/parsec1-1.0.0.7.ebuild
+++ b/dev-haskell/parsec1/parsec1-1.0.0.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-8.0.1:=
diff --git a/dev-haskell/parsers/parsers-0.12.10-r1.ebuild b/dev-haskell/parsers/parsers-0.12.10-r1.ebuild
index 7140d27431f3..d378722a6e58 100644
--- a/dev-haskell/parsers/parsers-0.12.10-r1.ebuild
+++ b/dev-haskell/parsers/parsers-0.12.10-r1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+attoparsec +binary +parsec"
RDEPEND=">=dev-haskell/base-orphans-0.3:=[profile?] <dev-haskell/base-orphans-1:=[profile?]
diff --git a/dev-haskell/path-pieces/path-pieces-0.2.1.ebuild b/dev-haskell/path-pieces/path-pieces-0.2.1.ebuild
index 2d204148d1a4..b8040512ebee 100644
--- a/dev-haskell/path-pieces/path-pieces-0.2.1.ebuild
+++ b/dev-haskell/path-pieces/path-pieces-0.2.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/text-0.5:=[profile?]
diff --git a/dev-haskell/patience/patience-0.1.1-r1.ebuild b/dev-haskell/patience/patience-0.1.1-r1.ebuild
index 8b1f0de9b07c..c84d5c7d4d51 100644
--- a/dev-haskell/patience/patience-0.1.1-r1.ebuild
+++ b/dev-haskell/patience/patience-0.1.1-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/pcre-light/pcre-light-0.4.1.0.ebuild b/dev-haskell/pcre-light/pcre-light-0.4.1.0.ebuild
index 7a363ec357e4..3d6d16d15298 100644
--- a/dev-haskell/pcre-light/pcre-light-0.4.1.0.ebuild
+++ b/dev-haskell/pcre-light/pcre-light-0.4.1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
#IUSE="use-pkg-config"
IUSE=""
diff --git a/dev-haskell/pem/pem-0.2.4.ebuild b/dev-haskell/pem/pem-0.2.4.ebuild
index 7b7bdc6774f9..cd14dc0ac6be 100644
--- a/dev-haskell/pem/pem-0.2.4.ebuild
+++ b/dev-haskell/pem/pem-0.2.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/basement:=[profile?]
diff --git a/dev-haskell/persistent-sqlite/persistent-sqlite-2.13.1.0.ebuild b/dev-haskell/persistent-sqlite/persistent-sqlite-2.13.1.0.ebuild
index 754e7829f7c7..9b4244d2079a 100644
--- a/dev-haskell/persistent-sqlite/persistent-sqlite-2.13.1.0.ebuild
+++ b/dev-haskell/persistent-sqlite/persistent-sqlite-2.13.1.0.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://www.yesodweb.com/book/persistent"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="build-sanity-exe"
RDEPEND=">=dev-db/sqlite-3.0
diff --git a/dev-haskell/persistent-template/persistent-template-2.12.0.0.ebuild b/dev-haskell/persistent-template/persistent-template-2.12.0.0.ebuild
index a1badb43d863..aa1bbbf954dd 100644
--- a/dev-haskell/persistent-template/persistent-template-2.12.0.0.ebuild
+++ b/dev-haskell/persistent-template/persistent-template-2.12.0.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/persistent-test/persistent-test-2.13.1.3.ebuild b/dev-haskell/persistent-test/persistent-test-2.13.1.3.ebuild
index 7c04bcc3251f..6d0b22d5f521 100644
--- a/dev-haskell/persistent-test/persistent-test-2.13.1.3.ebuild
+++ b/dev-haskell/persistent-test/persistent-test-2.13.1.3.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://www.yesodweb.com/book/persistent"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/aeson-1.0:=[profile?]
>=dev-haskell/blaze-html-0.9:=[profile?]
diff --git a/dev-haskell/persistent/persistent-2.14.0.3.ebuild b/dev-haskell/persistent/persistent-2.14.0.3.ebuild
index 98a776a996c7..d296879b025b 100644
--- a/dev-haskell/persistent/persistent-2.14.0.3.ebuild
+++ b/dev-haskell/persistent/persistent-2.14.0.3.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://www.yesodweb.com/book/persistent"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/aeson-1.0:=[profile?] <dev-haskell/aeson-2.1:=[profile?]
dev-haskell/attoparsec:=[profile?]
diff --git a/dev-haskell/pgp-wordlist/pgp-wordlist-0.1.0.3.ebuild b/dev-haskell/pgp-wordlist/pgp-wordlist-0.1.0.3.ebuild
index 338fac66d58b..b7c16cf09cb6 100644
--- a/dev-haskell/pgp-wordlist/pgp-wordlist-0.1.0.3.ebuild
+++ b/dev-haskell/pgp-wordlist/pgp-wordlist-0.1.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # ambiguous packages: AC-Vector-Fancy vector
diff --git a/dev-haskell/pretty-hex/pretty-hex-1.0.ebuild b/dev-haskell/pretty-hex/pretty-hex-1.0.ebuild
index ad11f0ae267b..7306d5c9e1a3 100644
--- a/dev-haskell/pretty-hex/pretty-hex-1.0.ebuild
+++ b/dev-haskell/pretty-hex/pretty-hex-1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/pretty-show/pretty-show-1.10.ebuild b/dev-haskell/pretty-show/pretty-show-1.10.ebuild
index f1499acdb0a2..d40673855785 100644
--- a/dev-haskell/pretty-show/pretty-show-1.10.ebuild
+++ b/dev-haskell/pretty-show/pretty-show-1.10.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/haskell-lexer-1.1:=[profile?] <dev-haskell/haskell-lexer-2:=[profile?]
dev-haskell/text:=[profile?]
diff --git a/dev-haskell/prettyprinter-ansi-terminal/prettyprinter-ansi-terminal-1.1.2.ebuild b/dev-haskell/prettyprinter-ansi-terminal/prettyprinter-ansi-terminal-1.1.2.ebuild
index 6b1b22356fa0..9ae3ba19cdfa 100644
--- a/dev-haskell/prettyprinter-ansi-terminal/prettyprinter-ansi-terminal-1.1.2.ebuild
+++ b/dev-haskell/prettyprinter-ansi-terminal/prettyprinter-ansi-terminal-1.1.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/ansi-terminal-0.4.0:=[profile?]
diff --git a/dev-haskell/prettyprinter/prettyprinter-1.7.0.ebuild b/dev-haskell/prettyprinter/prettyprinter-1.7.0.ebuild
index 4fda85be0f40..6b550bd76138 100644
--- a/dev-haskell/prettyprinter/prettyprinter-1.7.0.ebuild
+++ b/dev-haskell/prettyprinter/prettyprinter-1.7.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/fail-4.9.0.0:=[profile?] <dev-haskell/fail-4.10:=[profile?]
diff --git a/dev-haskell/primitive-addr/primitive-addr-0.1.0.2.ebuild b/dev-haskell/primitive-addr/primitive-addr-0.1.0.2.ebuild
index 5f109e1e001a..f98dde7821a8 100644
--- a/dev-haskell/primitive-addr/primitive-addr-0.1.0.2.ebuild
+++ b/dev-haskell/primitive-addr/primitive-addr-0.1.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/primitive-0.6.4:=[profile?] <dev-haskell/primitive-0.8:=[profile?]
diff --git a/dev-haskell/primitive/primitive-0.7.3.0.ebuild b/dev-haskell/primitive/primitive-0.7.3.0.ebuild
index ab4ba150e5ed..e86b12bd8c8e 100644
--- a/dev-haskell/primitive/primitive-0.7.3.0.ebuild
+++ b/dev-haskell/primitive/primitive-0.7.3.0.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://github.com/haskell/primitive"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
RESTRICT=test # circular depends: primitive[test]->tasty->wcwidth->attoparsec->scientific->primitive
diff --git a/dev-haskell/profunctors/profunctors-5.6.2.ebuild b/dev-haskell/profunctors/profunctors-5.6.2.ebuild
index 95e86cdb5762..4d48bd69513d 100644
--- a/dev-haskell/profunctors/profunctors-5.6.2.ebuild
+++ b/dev-haskell/profunctors/profunctors-5.6.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/base-orphans-0.8.4:=[profile?] <dev-haskell/base-orphans-0.9:=[profile?]
>=dev-haskell/bifunctors-5.5.9:=[profile?] <dev-haskell/bifunctors-6:=[profile?]
diff --git a/dev-haskell/psqueues/psqueues-0.2.7.3.ebuild b/dev-haskell/psqueues/psqueues-0.2.7.3.ebuild
index 3809ae90e2e0..2731a4e3e518 100644
--- a/dev-haskell/psqueues/psqueues-0.2.7.3.ebuild
+++ b/dev-haskell/psqueues/psqueues-0.2.7.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hashable-1.1.2.3:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/puremd5/puremd5-2.1.3.ebuild b/dev-haskell/puremd5/puremd5-2.1.3.ebuild
index b701f2f093e6..01543a41ac72 100644
--- a/dev-haskell/puremd5/puremd5-2.1.3.ebuild
+++ b/dev-haskell/puremd5/puremd5-2.1.3.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-haskell/quickcheck-classes-base/quickcheck-classes-base-0.6.2.0.ebuild b/dev-haskell/quickcheck-classes-base/quickcheck-classes-base-0.6.2.0.ebuild
index 2ccf2bc8d5b0..4ea4895363b1 100644
--- a/dev-haskell/quickcheck-classes-base/quickcheck-classes-base-0.6.2.0.ebuild
+++ b/dev-haskell/quickcheck-classes-base/quickcheck-classes-base-0.6.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+binary-laws +unary-laws"
RDEPEND="dev-haskell/contravariant:=[profile?]
diff --git a/dev-haskell/quickcheck-classes/quickcheck-classes-0.6.4.0.ebuild b/dev-haskell/quickcheck-classes/quickcheck-classes-0.6.4.0.ebuild
index e0deefbe60dd..32c1d4913d9b 100644
--- a/dev-haskell/quickcheck-classes/quickcheck-classes-0.6.4.0.ebuild
+++ b/dev-haskell/quickcheck-classes/quickcheck-classes-0.6.4.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+aeson +binary-laws +semigroupoids +semirings +unary-laws +vector"
RDEPEND=">=dev-haskell/base-orphans-0.1:=[profile?]
diff --git a/dev-haskell/quickcheck-instances/quickcheck-instances-0.3.27.ebuild b/dev-haskell/quickcheck-instances/quickcheck-instances-0.3.27.ebuild
index 87d922949e3f..891b3dc36496 100644
--- a/dev-haskell/quickcheck-instances/quickcheck-instances-0.3.27.ebuild
+++ b/dev-haskell/quickcheck-instances/quickcheck-instances-0.3.27.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/case-insensitive-1.2.0.4:=[profile?] <dev-haskell/case-insensitive-1.3:=[profile?]
>=dev-haskell/data-fix-0.3:=[profile?] <dev-haskell/data-fix-0.4:=[profile?]
diff --git a/dev-haskell/quickcheck-io/quickcheck-io-0.2.0.ebuild b/dev-haskell/quickcheck-io/quickcheck-io-0.2.0.ebuild
index 7ff4c484865f..28d8cedadde2 100644
--- a/dev-haskell/quickcheck-io/quickcheck-io-0.2.0.ebuild
+++ b/dev-haskell/quickcheck-io/quickcheck-io-0.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/hunit-1.2.5:=[profile?]
diff --git a/dev-haskell/quickcheck/quickcheck-2.14.2.ebuild b/dev-haskell/quickcheck/quickcheck-2.14.2.ebuild
index 3d10229be488..fd43240ea886 100644
--- a/dev-haskell/quickcheck/quickcheck-2.14.2.ebuild
+++ b/dev-haskell/quickcheck/quickcheck-2.14.2.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="2/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="+template-haskell"
RDEPEND=">=dev-haskell/splitmix-0.1:=[profile?] <dev-haskell/splitmix-0.2:=[profile?]
diff --git a/dev-haskell/random/random-1.2.1.ebuild b/dev-haskell/random/random-1.2.1.ebuild
index 3ca7fecbf7ac..7371dd3c3829 100644
--- a/dev-haskell/random/random-1.2.1.ebuild
+++ b/dev-haskell/random/random-1.2.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
# circular depend: random[test]->mwc-random->math-functions[test]->vector-th-unbox->vector->random
RESTRICT=test
diff --git a/dev-haskell/raw-strings-qq/raw-strings-qq-1.1.ebuild b/dev-haskell/raw-strings-qq/raw-strings-qq-1.1.ebuild
index 3a915e2ffe0f..a821bbb8b25b 100644
--- a/dev-haskell/raw-strings-qq/raw-strings-qq-1.1.ebuild
+++ b/dev-haskell/raw-strings-qq/raw-strings-qq-1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/reducers/reducers-3.12.3-r1.ebuild b/dev-haskell/reducers/reducers-3.12.3-r1.ebuild
index a5d8fe6d1452..623558dbef50 100644
--- a/dev-haskell/reducers/reducers-3.12.3-r1.ebuild
+++ b/dev-haskell/reducers/reducers-3.12.3-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/fingertree-0.1:=[profile?] <dev-haskell/fingertree-0.2:=[profile?]
diff --git a/dev-haskell/reflection/reflection-2.1.6.ebuild b/dev-haskell/reflection/reflection-2.1.6.ebuild
index 17f0de86aa91..b55dbe67f3ef 100644
--- a/dev-haskell/reflection/reflection-2.1.6.ebuild
+++ b/dev-haskell/reflection/reflection-2.1.6.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/regex-applicative/regex-applicative-0.3.3.1.ebuild b/dev-haskell/regex-applicative/regex-applicative-0.3.3.1.ebuild
index 77f54622587a..f7a594535315 100644
--- a/dev-haskell/regex-applicative/regex-applicative-0.3.3.1.ebuild
+++ b/dev-haskell/regex-applicative/regex-applicative-0.3.3.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.8.2:=
diff --git a/dev-haskell/regex-base/regex-base-0.94.0.1.ebuild b/dev-haskell/regex-base/regex-base-0.94.0.1.ebuild
index 40c28011cca4..7630c6e6d7e4 100644
--- a/dev-haskell/regex-base/regex-base-0.94.0.1.ebuild
+++ b/dev-haskell/regex-base/regex-base-0.94.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
RDEPEND=">=dev-haskell/mtl-1.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
>=dev-haskell/text-1.2.3:=[profile?] <dev-haskell/text-1.3:=[profile?]
diff --git a/dev-haskell/regex-compat/regex-compat-0.95.2.1.ebuild b/dev-haskell/regex-compat/regex-compat-0.95.2.1.ebuild
index 232a88a9f2d6..c89eaebf8d3c 100644
--- a/dev-haskell/regex-compat/regex-compat-0.95.2.1.ebuild
+++ b/dev-haskell/regex-compat/regex-compat-0.95.2.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/regex-base-0.94:=[profile?] <dev-haskell/regex-base-0.95:=[profile?]
>=dev-haskell/regex-posix-0.96:=[profile?] <dev-haskell/regex-posix-0.97:=[profile?]
diff --git a/dev-haskell/regex-posix/regex-posix-0.96.0.0.ebuild b/dev-haskell/regex-posix/regex-posix-0.96.0.0.ebuild
index 6eb874b1fd64..47906969fcfc 100644
--- a/dev-haskell/regex-posix/regex-posix-0.96.0.0.ebuild
+++ b/dev-haskell/regex-posix/regex-posix-0.96.0.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
IUSE=""
RDEPEND=">=dev-haskell/fail-4.9:=[profile?] <dev-haskell/fail-4.10:=[profile?]
diff --git a/dev-haskell/regex-tdfa/regex-tdfa-1.3.2.ebuild b/dev-haskell/regex-tdfa/regex-tdfa-1.3.2.ebuild
index 6239f9a3d607..9f7b3f925de9 100644
--- a/dev-haskell/regex-tdfa/regex-tdfa-1.3.2.ebuild
+++ b/dev-haskell/regex-tdfa/regex-tdfa-1.3.2.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://wiki.haskell.org/Regular_expressions"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
PATCHES=(
"${FILESDIR}/${PN}-1.3.2-disable-doctests.patch"
diff --git a/dev-haskell/resolv/resolv-0.1.2.0-r1.ebuild b/dev-haskell/resolv/resolv-0.1.2.0-r1.ebuild
index d3c304edeccf..584969959ff8 100644
--- a/dev-haskell/resolv/resolv-0.1.2.0-r1.ebuild
+++ b/dev-haskell/resolv/resolv-0.1.2.0-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # fails to build test suite
diff --git a/dev-haskell/resource-pool/resource-pool-0.2.3.2.ebuild b/dev-haskell/resource-pool/resource-pool-0.2.3.2.ebuild
index 879eaa1bbc9b..24e3f6b9eacf 100644
--- a/dev-haskell/resource-pool/resource-pool-0.2.3.2.ebuild
+++ b/dev-haskell/resource-pool/resource-pool-0.2.3.2.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/hashable:=[profile?]
diff --git a/dev-haskell/resourcet/resourcet-1.2.4.2.ebuild b/dev-haskell/resourcet/resourcet-1.2.4.2.ebuild
index aa73cc37d103..7292713e4739 100644
--- a/dev-haskell/resourcet/resourcet-1.2.4.2.ebuild
+++ b/dev-haskell/resourcet/resourcet-1.2.4.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/mtl-2.0:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
diff --git a/dev-haskell/retry/retry-0.9.0.0.ebuild b/dev-haskell/retry/retry-0.9.0.0.ebuild
index f5c7487d21a9..e61f61f8cea3 100644
--- a/dev-haskell/retry/retry-0.9.0.0.ebuild
+++ b/dev-haskell/retry/retry-0.9.0.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/exceptions-0.5:=[profile?]
>=dev-haskell/random-1:=[profile?]
diff --git a/dev-haskell/rio/rio-0.1.21.0.ebuild b/dev-haskell/rio/rio-0.1.21.0.ebuild
index 9c8d6b78453c..a2f0ec4a52cb 100644
--- a/dev-haskell/rio/rio-0.1.21.0.ebuild
+++ b/dev-haskell/rio/rio-0.1.21.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/hashable:=[profile?]
dev-haskell/microlens:=[profile?]
diff --git a/dev-haskell/safe-exceptions/safe-exceptions-0.1.7.0.ebuild b/dev-haskell/safe-exceptions/safe-exceptions-0.1.7.0.ebuild
index 2f5748a93379..2e3531092079 100644
--- a/dev-haskell/safe-exceptions/safe-exceptions-0.1.7.0.ebuild
+++ b/dev-haskell/safe-exceptions/safe-exceptions-0.1.7.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/exceptions-0.8:=[profile?]
diff --git a/dev-haskell/safe/safe-0.3.19.ebuild b/dev-haskell/safe/safe-0.3.19.ebuild
index 512bd4bf45bb..896d57a380ba 100644
--- a/dev-haskell/safe/safe-0.3.19.ebuild
+++ b/dev-haskell/safe/safe-0.3.19.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.10.1:=
diff --git a/dev-haskell/safesemaphore/safesemaphore-0.10.1.ebuild b/dev-haskell/safesemaphore/safesemaphore-0.10.1.ebuild
index ed6446870a43..31bbf71b4f8b 100644
--- a/dev-haskell/safesemaphore/safesemaphore-0.10.1.ebuild
+++ b/dev-haskell/safesemaphore/safesemaphore-0.10.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE=""
RDEPEND="dev-haskell/stm:=[profile?]
diff --git a/dev-haskell/sandi/sandi-0.5.ebuild b/dev-haskell/sandi/sandi-0.5.ebuild
index 6236546a8933..afda2898d252 100644
--- a/dev-haskell/sandi/sandi-0.5.ebuild
+++ b/dev-haskell/sandi/sandi-0.5.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+conduit"
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/scientific/scientific-0.3.7.0-r1.ebuild b/dev-haskell/scientific/scientific-0.3.7.0-r1.ebuild
index aebba746ad0e..1295a6671744 100644
--- a/dev-haskell/scientific/scientific-0.3.7.0-r1.ebuild
+++ b/dev-haskell/scientific/scientific-0.3.7.0-r1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hashable-1.2.7.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
>=dev-haskell/integer-logarithms-1.0.3.1:=[profile?] <dev-haskell/integer-logarithms-1.1:=[profile?]
diff --git a/dev-haskell/securemem/securemem-0.1.10.ebuild b/dev-haskell/securemem/securemem-0.1.10.ebuild
index f1432417ac5b..2b554a35fdc6 100644
--- a/dev-haskell/securemem/securemem-0.1.10.ebuild
+++ b/dev-haskell/securemem/securemem-0.1.10.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/byteable-0.1.1:=[profile?]
diff --git a/dev-haskell/semialign/semialign-1.2.0.1.ebuild b/dev-haskell/semialign/semialign-1.2.0.1.ebuild
index 825e7e022e0f..a5ee78d00577 100644
--- a/dev-haskell/semialign/semialign-1.2.0.1.ebuild
+++ b/dev-haskell/semialign/semialign-1.2.0.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hashable-1.2.7.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
>=dev-haskell/indexed-traversable-0.1.1:=[profile?] <dev-haskell/indexed-traversable-0.2:=[profile?]
diff --git a/dev-haskell/semigroupoids/semigroupoids-5.3.7-r1.ebuild b/dev-haskell/semigroupoids/semigroupoids-5.3.7-r1.ebuild
index b8179b15e393..19bdf5d58a28 100644
--- a/dev-haskell/semigroupoids/semigroupoids-5.3.7-r1.ebuild
+++ b/dev-haskell/semigroupoids/semigroupoids-5.3.7-r1.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://github.com/ekmett/semigroupoids"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/base-orphans-0.8.4:=[profile?] <dev-haskell/base-orphans-1:=[profile?]
>=dev-haskell/bifunctors-5.5.9:=[profile?] <dev-haskell/bifunctors-6:=[profile?]
diff --git a/dev-haskell/semigroups/semigroups-0.20.ebuild b/dev-haskell/semigroups/semigroups-0.20.ebuild
index f72b5b43675c..fe2a8a5a368f 100644
--- a/dev-haskell/semigroups/semigroups-0.20.ebuild
+++ b/dev-haskell/semigroups/semigroups-0.20.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/semirings/semirings-0.6.ebuild b/dev-haskell/semirings/semirings-0.6.ebuild
index dd5a71e5ad8a..7d278a4ea842 100644
--- a/dev-haskell/semirings/semirings-0.6.ebuild
+++ b/dev-haskell/semirings/semirings-0.6.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/base-compat-batteries:=[profile?]
>=dev-haskell/hashable-1.1:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
diff --git a/dev-haskell/servant-server/servant-server-0.19.1.ebuild b/dev-haskell/servant-server/servant-server-0.19.1.ebuild
index 90748f168e46..e7a08fd3fc8e 100644
--- a/dev-haskell/servant-server/servant-server-0.19.1.ebuild
+++ b/dev-haskell/servant-server/servant-server-0.19.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="examples"
PATCHES=( "${FILESDIR}/${PN}-0.18.3-add-examples-flag.patch" )
diff --git a/dev-haskell/servant/servant-0.19.ebuild b/dev-haskell/servant/servant-0.19.ebuild
index 0982492abbac..7a84bce3d6a0 100644
--- a/dev-haskell/servant/servant-0.19.ebuild
+++ b/dev-haskell/servant/servant-0.19.ebuild
@@ -20,7 +20,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/aeson-1.4.1.0:=[profile?] <dev-haskell/aeson-3:=[profile?]
>=dev-haskell/attoparsec-0.13.2.2:=[profile?] <dev-haskell/attoparsec-0.15:=[profile?]
diff --git a/dev-haskell/setenv/setenv-0.1.1.3.ebuild b/dev-haskell/setenv/setenv-0.1.1.3.ebuild
index cf844cc45523..0d47036c0f3f 100644
--- a/dev-haskell/setenv/setenv-0.1.1.3.ebuild
+++ b/dev-haskell/setenv/setenv-0.1.1.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/setlocale/setlocale-1.0.0.9.ebuild b/dev-haskell/setlocale/setlocale-1.0.0.9.ebuild
index 25c5a26801f0..07cfb3f6a173 100644
--- a/dev-haskell/setlocale/setlocale-1.0.0.9.ebuild
+++ b/dev-haskell/setlocale/setlocale-1.0.0.9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.6.1:=
diff --git a/dev-haskell/sha/sha-1.6.4.4.ebuild b/dev-haskell/sha/sha-1.6.4.4.ebuild
index b5d447346207..04bc03d22e31 100644
--- a/dev-haskell/sha/sha-1.6.4.4.ebuild
+++ b/dev-haskell/sha/sha-1.6.4.4.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE="exe"
RDEPEND=">=dev-lang/ghc-7.8.2:=
diff --git a/dev-haskell/shakespeare/shakespeare-2.0.30.ebuild b/dev-haskell/shakespeare/shakespeare-2.0.30.ebuild
index c5546a462bb3..de9532a3ea15 100644
--- a/dev-haskell/shakespeare/shakespeare-2.0.30.ebuild
+++ b/dev-haskell/shakespeare/shakespeare-2.0.30.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://www.yesodweb.com/book/shakespearean-templates"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="<dev-haskell/aeson-3:=[profile?]
dev-haskell/blaze-html:=[profile?]
diff --git a/dev-haskell/shelly/shelly-1.9.0.ebuild b/dev-haskell/shelly/shelly-1.9.0.ebuild
index 45d9485971fe..e0782fd6c889 100644
--- a/dev-haskell/shelly/shelly-1.9.0.ebuild
+++ b/dev-haskell/shelly/shelly-1.9.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="examples lifted"
RDEPEND="dev-haskell/async:=[profile?]
diff --git a/dev-haskell/should-not-typecheck/should-not-typecheck-2.1.0.ebuild b/dev-haskell/should-not-typecheck/should-not-typecheck-2.1.0.ebuild
index 6b991aa603d1..246e67983416 100644
--- a/dev-haskell/should-not-typecheck/should-not-typecheck-2.1.0.ebuild
+++ b/dev-haskell/should-not-typecheck/should-not-typecheck-2.1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/hunit-1.2:=[profile?]
diff --git a/dev-haskell/silently/silently-1.2.5.1.ebuild b/dev-haskell/silently/silently-1.2.5.1.ebuild
index d20c9417c765..50c45e90e5fd 100644
--- a/dev-haskell/silently/silently-1.2.5.1.ebuild
+++ b/dev-haskell/silently/silently-1.2.5.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/simple-reflect/simple-reflect-0.3.3.ebuild b/dev-haskell/simple-reflect/simple-reflect-0.3.3.ebuild
index 5e1b4e0639d3..93851a62b5cf 100644
--- a/dev-haskell/simple-reflect/simple-reflect-0.3.3.ebuild
+++ b/dev-haskell/simple-reflect/simple-reflect-0.3.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/simple-sendfile/simple-sendfile-0.2.28.ebuild b/dev-haskell/simple-sendfile/simple-sendfile-0.2.28.ebuild
index b1a26eba05f0..5e193e5e033c 100644
--- a/dev-haskell/simple-sendfile/simple-sendfile-0.2.28.ebuild
+++ b/dev-haskell/simple-sendfile/simple-sendfile-0.2.28.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+allow-bsd"
RDEPEND="dev-haskell/network:=[profile?]
diff --git a/dev-haskell/singleton-bool/singleton-bool-0.1.5-r1.ebuild b/dev-haskell/singleton-bool/singleton-bool-0.1.5-r1.ebuild
index ad3da753bec6..57e53541cafb 100644
--- a/dev-haskell/singleton-bool/singleton-bool-0.1.5-r1.ebuild
+++ b/dev-haskell/singleton-bool/singleton-bool-0.1.5-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/tagged-0.8.5:=[profile?] <dev-haskell/tagged-0.9:=[profile?]
diff --git a/dev-haskell/skein/skein-1.0.9.4.ebuild b/dev-haskell/skein/skein-1.0.9.4.ebuild
index cfece0632170..9cf3a9519315 100644
--- a/dev-haskell/skein/skein-1.0.9.4.ebuild
+++ b/dev-haskell/skein/skein-1.0.9.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="big-endian force-endianness reference"
RDEPEND=">=dev-haskell/cereal-0.3:=[profile?] <dev-haskell/cereal-0.6:=[profile?]
diff --git a/dev-haskell/skylighting-core/files/skylighting-increase-timeouts.patch b/dev-haskell/skylighting-core/files/skylighting-increase-timeouts.patch
new file mode 100644
index 000000000000..8dce65f4c855
--- /dev/null
+++ b/dev-haskell/skylighting-core/files/skylighting-increase-timeouts.patch
@@ -0,0 +1,39 @@
+https://github.com/jgm/skylighting/pull/154
+
+From 00af1d629c2f185fd3c8d3eee55857b1325f345b Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Fri, 16 Sep 2022 10:30:35 -0400
+Subject: [PATCH] Notch up core test timeout even further
+
+On very slow/embedded cpus, 25 seconds is not sufficient (even 50
+seconds is not); I had to notch the test timeout up to 75 seconds for
+everything to pass.
+
+This disables the test timeouts completely.
+---
+ test/test-skylighting.hs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/test-skylighting.hs b/test/test-skylighting.hs
+index a3977e72..0f05e573 100644
+--- a/test/test-skylighting.hs
++++ b/test/test-skylighting.hs
+@@ -224,8 +224,7 @@ p_no_drop cfg syntax t =
+
+ noDropTest :: TokenizerConfig -> [Text] -> Syntax -> TestTree
+ noDropTest cfg inps syntax =
+- localOption (mkTimeout 25000000)
+- $ testCase (Text.unpack (sName syntax))
++ testCase (Text.unpack (sName syntax))
+ $ mapM_ go inps
+ where go inp =
+ case tokenize cfg syntax inp of
+@@ -238,7 +237,7 @@ noDropTest cfg inps syntax =
+ assertFailure ("Unexpected error: " ++ e ++ "\ninput = " ++ show inp)
+
+ tokenizerTest :: TokenizerConfig -> SyntaxMap -> Bool -> FilePath -> TestTree
+-tokenizerTest cfg sMap regen inpFile = localOption (mkTimeout 25000000) $
++tokenizerTest cfg sMap regen inpFile =
+ goldenTest testname getExpected getActual
+ (compareValues referenceFile) updateGolden
+ where testname = lang ++ " tokenizing of " ++ inpFile
diff --git a/dev-haskell/skylighting-core/skylighting-core-0.12.3.1.ebuild b/dev-haskell/skylighting-core/skylighting-core-0.12.3.1.ebuild
index e9f59184a966..9e849c9733d5 100644
--- a/dev-haskell/skylighting-core/skylighting-core-0.12.3.1.ebuild
+++ b/dev-haskell/skylighting-core/skylighting-core-0.12.3.1.ebuild
@@ -15,8 +15,9 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="executable"
+PATCHES=( "${FILESDIR}/skylighting-increase-timeouts.patch" )
RDEPEND=">=dev-haskell/aeson-1.0:=[profile?]
>=dev-haskell/ansi-terminal-0.7:=[profile?]
diff --git a/dev-haskell/skylighting/skylighting-0.12.3.1.ebuild b/dev-haskell/skylighting/skylighting-0.12.3.1.ebuild
index 557df569fad5..0b2d789fb55a 100644
--- a/dev-haskell/skylighting/skylighting-0.12.3.1.ebuild
+++ b/dev-haskell/skylighting/skylighting-0.12.3.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="executable"
RDEPEND="~dev-haskell/skylighting-core-0.12.3.1:=[profile?]
diff --git a/dev-haskell/smallcheck/smallcheck-1.2.0.ebuild b/dev-haskell/smallcheck/smallcheck-1.2.0.ebuild
index ad622a559f8d..1cf5a812682e 100644
--- a/dev-haskell/smallcheck/smallcheck-1.2.0.ebuild
+++ b/dev-haskell/smallcheck/smallcheck-1.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/logict:=[profile?]
diff --git a/dev-haskell/socks/socks-0.6.1.ebuild b/dev-haskell/socks/socks-0.6.1.ebuild
index fcb8a099617f..81247c2a63b2 100644
--- a/dev-haskell/socks/socks-0.6.1.ebuild
+++ b/dev-haskell/socks/socks-0.6.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/basement:=[profile?]
diff --git a/dev-haskell/sop-core/sop-core-0.5.0.2.ebuild b/dev-haskell/sop-core/sop-core-0.5.0.2.ebuild
index c43ea8f9eb29..6bd5f1dd8406 100644
--- a/dev-haskell/sop-core/sop-core-0.5.0.2.ebuild
+++ b/dev-haskell/sop-core/sop-core-0.5.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/split/split-0.2.3.4.ebuild b/dev-haskell/split/split-0.2.3.4.ebuild
index 00e56ffec1b3..eb5b78a4dea6 100644
--- a/dev-haskell/split/split-0.2.3.4.ebuild
+++ b/dev-haskell/split/split-0.2.3.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~ppc-macos"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/splitmix/splitmix-0.1.0.3.ebuild b/dev-haskell/splitmix/splitmix-0.1.0.3.ebuild
index c7626da4f9bc..a5f3b49d85ff 100644
--- a/dev-haskell/splitmix/splitmix-0.1.0.3.ebuild
+++ b/dev-haskell/splitmix/splitmix-0.1.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="optimised-mixer"
RESTRICT=test # circular deps: dev-haskell/splitmix[test]->dev-haskell/base-compat-batteries->dev-haskell/quickcheck->dev-haskell/splitmix
diff --git a/dev-haskell/statevar/statevar-1.2.1.ebuild b/dev-haskell/statevar/statevar-1.2.1.ebuild
index 66419b480e4c..d19f118258e9 100644
--- a/dev-haskell/statevar/statevar-1.2.1.ebuild
+++ b/dev-haskell/statevar/statevar-1.2.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/stm-2.3.0.1:=[profile?] <dev-haskell/stm-2.6:=[profile?]
diff --git a/dev-haskell/statistics/statistics-0.15.2.0.ebuild b/dev-haskell/statistics/statistics-0.15.2.0.ebuild
index 12acef1805d0..cc7f00a4a843 100644
--- a/dev-haskell/statistics/statistics-0.15.2.0.ebuild
+++ b/dev-haskell/statistics/statistics-0.15.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/aeson-0.6.0.0:=[profile?]
diff --git a/dev-haskell/stm-chans/stm-chans-3.0.0.4.ebuild b/dev-haskell/stm-chans/stm-chans-3.0.0.4.ebuild
index 80c8a25946f8..fdf2291196e5 100644
--- a/dev-haskell/stm-chans/stm-chans-3.0.0.4.ebuild
+++ b/dev-haskell/stm-chans/stm-chans-3.0.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/stm-2.4:=[profile?]
diff --git a/dev-haskell/stm/stm-2.5.0.1.ebuild b/dev-haskell/stm/stm-2.5.0.1.ebuild
index f1a3a1915b40..8e9858230b3e 100644
--- a/dev-haskell/stm/stm-2.5.0.1.ebuild
+++ b/dev-haskell/stm/stm-2.5.0.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
# keep in sync with ghc-8.10.5
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/streaming-commons/streaming-commons-0.2.2.4.ebuild b/dev-haskell/streaming-commons/streaming-commons-0.2.2.4.ebuild
index 17a426489eb6..0659cfb847a0 100644
--- a/dev-haskell/streaming-commons/streaming-commons-0.2.2.4.ebuild
+++ b/dev-haskell/streaming-commons/streaming-commons-0.2.2.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RESTRICT=test # requires network
diff --git a/dev-haskell/strict/strict-0.4.0.1.ebuild b/dev-haskell/strict/strict-0.4.0.1.ebuild
index 2b4f3b3e7bd4..812bdd31acf3 100644
--- a/dev-haskell/strict/strict-0.4.0.1.ebuild
+++ b/dev-haskell/strict/strict-0.4.0.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/assoc-1.0.1:=[profile?] <dev-haskell/assoc-1.1:=[profile?]
>=dev-haskell/hashable-1.2.7.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
diff --git a/dev-haskell/string-conversions/string-conversions-0.4.0.1.ebuild b/dev-haskell/string-conversions/string-conversions-0.4.0.1.ebuild
index 5e167cc8c0ef..dbc3a8e85575 100644
--- a/dev-haskell/string-conversions/string-conversions-0.4.0.1.ebuild
+++ b/dev-haskell/string-conversions/string-conversions-0.4.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/text-0.11:=[profile?]
diff --git a/dev-haskell/string-qq/string-qq-0.0.4.ebuild b/dev-haskell/string-qq/string-qq-0.0.4.ebuild
index 4521b1138396..81517697ea54 100644
--- a/dev-haskell/string-qq/string-qq-0.0.4.ebuild
+++ b/dev-haskell/string-qq/string-qq-0.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/stringbuilder/stringbuilder-0.5.1.ebuild b/dev-haskell/stringbuilder/stringbuilder-0.5.1.ebuild
index 6f85ef1d74d4..c00da8816227 100644
--- a/dev-haskell/stringbuilder/stringbuilder-0.5.1.ebuild
+++ b/dev-haskell/stringbuilder/stringbuilder-0.5.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/syb/syb-0.7.2.1.ebuild b/dev-haskell/syb/syb-0.7.2.1.ebuild
index e22f5dbe0c4c..e8f6a5951fdc 100644
--- a/dev-haskell/syb/syb-0.7.2.1.ebuild
+++ b/dev-haskell/syb/syb-0.7.2.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/system-fileio/system-fileio-0.3.16.4.ebuild b/dev-haskell/system-fileio/system-fileio-0.3.16.4.ebuild
index c8600807ad08..c3d698f4c3e8 100644
--- a/dev-haskell/system-fileio/system-fileio-0.3.16.4.ebuild
+++ b/dev-haskell/system-fileio/system-fileio-0.3.16.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/system-filepath-0.3.1:=[profile?] <dev-haskell/system-filepath-0.5:=[profile?]
diff --git a/dev-haskell/system-filepath/system-filepath-0.4.14-r1.ebuild b/dev-haskell/system-filepath/system-filepath-0.4.14-r1.ebuild
index 605c5ee1b840..d71388bd985f 100644
--- a/dev-haskell/system-filepath/system-filepath-0.4.14-r1.ebuild
+++ b/dev-haskell/system-filepath/system-filepath-0.4.14-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RESTRICT=test
diff --git a/dev-haskell/tagged/tagged-0.8.6.1.ebuild b/dev-haskell/tagged/tagged-0.8.6.1.ebuild
index 2b755db7d274..91f3e19e14f0 100644
--- a/dev-haskell/tagged/tagged-0.8.6.1.ebuild
+++ b/dev-haskell/tagged/tagged-0.8.6.1.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/transformers-compat-0.5:=[profile?] <dev-haskell/transformers-compat-1:=[profile?]
diff --git a/dev-haskell/tagsoup/tagsoup-0.14.8.ebuild b/dev-haskell/tagsoup/tagsoup-0.14.8.ebuild
index 419c37899345..9f03eccdbbae 100644
--- a/dev-haskell/tagsoup/tagsoup-0.14.8.ebuild
+++ b/dev-haskell/tagsoup/tagsoup-0.14.8.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/text:=[profile?]
diff --git a/dev-haskell/tar/tar-0.5.1.1-r2.ebuild b/dev-haskell/tar/tar-0.5.1.1-r2.ebuild
index c1d4a5644350..86da89b1be1f 100644
--- a/dev-haskell/tar/tar-0.5.1.1-r2.ebuild
+++ b/dev-haskell/tar/tar-0.5.1.1-r2.ebuild
@@ -21,7 +21,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/tasty-expected-failure/tasty-expected-failure-0.11.1.2.ebuild b/dev-haskell/tasty-expected-failure/tasty-expected-failure-0.11.1.2.ebuild
index d28ab2f55163..9d40bd56558f 100644
--- a/dev-haskell/tasty-expected-failure/tasty-expected-failure-0.11.1.2.ebuild
+++ b/dev-haskell/tasty-expected-failure/tasty-expected-failure-0.11.1.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/tagged-0.7:=[profile?] <dev-haskell/tagged-0.9:=[profile?]
diff --git a/dev-haskell/tasty-golden/tasty-golden-2.3.1.1.ebuild b/dev-haskell/tasty-golden/tasty-golden-2.3.1.1.ebuild
index 76e76c84b8eb..f879d3b1e1d3 100644
--- a/dev-haskell/tasty-golden/tasty-golden-2.3.1.1.ebuild
+++ b/dev-haskell/tasty-golden/tasty-golden-2.3.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/async:=[profile?]
diff --git a/dev-haskell/tasty-hedgehog/tasty-hedgehog-1.1.0.0.ebuild b/dev-haskell/tasty-hedgehog/tasty-hedgehog-1.1.0.0.ebuild
index ed11d7f37f08..e7d3f6638143 100644
--- a/dev-haskell/tasty-hedgehog/tasty-hedgehog-1.1.0.0.ebuild
+++ b/dev-haskell/tasty-hedgehog/tasty-hedgehog-1.1.0.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hedgehog-1.0.2:=[profile?]
>=dev-haskell/tagged-0.8:=[profile?] <dev-haskell/tagged-0.9:=[profile?]
diff --git a/dev-haskell/tasty-hslua/tasty-hslua-1.0.2.ebuild b/dev-haskell/tasty-hslua/tasty-hslua-1.0.2.ebuild
index 000f24033ec5..88f2a9a7d716 100644
--- a/dev-haskell/tasty-hslua/tasty-hslua-1.0.2.ebuild
+++ b/dev-haskell/tasty-hslua/tasty-hslua-1.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hslua-core-2.0:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
>=dev-haskell/tasty-0.11:=[profile?]
diff --git a/dev-haskell/tasty-hunit/tasty-hunit-0.10.0.3.ebuild b/dev-haskell/tasty-hunit/tasty-hunit-0.10.0.3.ebuild
index fe8b51091f83..66fb80a62608 100644
--- a/dev-haskell/tasty-hunit/tasty-hunit-0.10.0.3.ebuild
+++ b/dev-haskell/tasty-hunit/tasty-hunit-0.10.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/call-stack:=[profile?]
diff --git a/dev-haskell/tasty-kat/tasty-kat-0.0.3.ebuild b/dev-haskell/tasty-kat/tasty-kat-0.0.3.ebuild
index a20e50bcdfaa..7009a12e6015 100644
--- a/dev-haskell/tasty-kat/tasty-kat-0.0.3.ebuild
+++ b/dev-haskell/tasty-kat/tasty-kat-0.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/tasty:=[profile?]
diff --git a/dev-haskell/tasty-lua/tasty-lua-1.0.2.ebuild b/dev-haskell/tasty-lua/tasty-lua-1.0.2.ebuild
index 5050030d0f54..1c3fac58be5f 100644
--- a/dev-haskell/tasty-lua/tasty-lua-1.0.2.ebuild
+++ b/dev-haskell/tasty-lua/tasty-lua-1.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/file-embed-0.0:=[profile?] <dev-haskell/file-embed-0.1:=[profile?]
>=dev-haskell/hslua-core-2.0:=[profile?] <dev-haskell/hslua-core-2.3:=[profile?]
diff --git a/dev-haskell/tasty-quickcheck/tasty-quickcheck-0.10.1.1.ebuild b/dev-haskell/tasty-quickcheck/tasty-quickcheck-0.10.1.1.ebuild
index 84852fde21df..34f16c5ccf33 100644
--- a/dev-haskell/tasty-quickcheck/tasty-quickcheck-0.10.1.1.ebuild
+++ b/dev-haskell/tasty-quickcheck/tasty-quickcheck-0.10.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/optparse-applicative:=[profile?]
diff --git a/dev-haskell/tasty-rerun/tasty-rerun-1.1.18.ebuild b/dev-haskell/tasty-rerun/tasty-rerun-1.1.18.ebuild
index 78efd255837a..8c2b38808dc3 100644
--- a/dev-haskell/tasty-rerun/tasty-rerun-1.1.18.ebuild
+++ b/dev-haskell/tasty-rerun/tasty-rerun-1.1.18.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/mtl-2.1.2:=[profile?]
diff --git a/dev-haskell/tasty-smallcheck/tasty-smallcheck-0.8.1.ebuild b/dev-haskell/tasty-smallcheck/tasty-smallcheck-0.8.1.ebuild
index 250ba5f88c20..db4bbeaee327 100644
--- a/dev-haskell/tasty-smallcheck/tasty-smallcheck-0.8.1.ebuild
+++ b/dev-haskell/tasty-smallcheck/tasty-smallcheck-0.8.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/async:=[profile?]
diff --git a/dev-haskell/tasty-th/tasty-th-0.1.7.ebuild b/dev-haskell/tasty-th/tasty-th-0.1.7.ebuild
index c0fcaafab52c..52fde07fd722 100644
--- a/dev-haskell/tasty-th/tasty-th-0.1.7.ebuild
+++ b/dev-haskell/tasty-th/tasty-th-0.1.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/haskell-src-exts-1.18.0:=[profile?]
diff --git a/dev-haskell/tasty/tasty-1.4.2.3.ebuild b/dev-haskell/tasty/tasty-1.4.2.3.ebuild
index 2354c54d6369..f16240ba8e72 100644
--- a/dev-haskell/tasty/tasty-1.4.2.3.ebuild
+++ b/dev-haskell/tasty/tasty-1.4.2.3.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/ansi-terminal-0.9:=[profile?]
>=dev-haskell/clock-0.4.4.0:=[profile?]
diff --git a/dev-haskell/temporary-rc/temporary-rc-1.2.0.3.ebuild b/dev-haskell/temporary-rc/temporary-rc-1.2.0.3.ebuild
index 3a8dd7ed0f36..ea693946d94e 100644
--- a/dev-haskell/temporary-rc/temporary-rc-1.2.0.3.ebuild
+++ b/dev-haskell/temporary-rc/temporary-rc-1.2.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/exceptions-0.6:=[profile?]
diff --git a/dev-haskell/temporary/temporary-1.3.ebuild b/dev-haskell/temporary/temporary-1.3.ebuild
index 4dc5fdb3267a..b14de0402bdb 100644
--- a/dev-haskell/temporary/temporary-1.3.ebuild
+++ b/dev-haskell/temporary/temporary-1.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/exceptions-0.6:=[profile?]
diff --git a/dev-haskell/terminal-size/terminal-size-0.3.2.1.ebuild b/dev-haskell/terminal-size/terminal-size-0.3.2.1.ebuild
index 6ea1dd3f7d37..7e67076bfe4b 100644
--- a/dev-haskell/terminal-size/terminal-size-0.3.2.1.ebuild
+++ b/dev-haskell/terminal-size/terminal-size-0.3.2.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/terminfo/terminfo-0.4.1.5.ebuild b/dev-haskell/terminfo/terminfo-0.4.1.5.ebuild
index 52c8618befce..1f509b3fe347 100644
--- a/dev-haskell/terminfo/terminfo-0.4.1.5.ebuild
+++ b/dev-haskell/terminfo/terminfo-0.4.1.5.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
#keep in sync with ghc-9.0.2
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/test-framework-hunit/test-framework-hunit-0.3.0.2-r1.ebuild b/dev-haskell/test-framework-hunit/test-framework-hunit-0.3.0.2-r1.ebuild
index 7231611615e2..03de581d482a 100644
--- a/dev-haskell/test-framework-hunit/test-framework-hunit-0.3.0.2-r1.ebuild
+++ b/dev-haskell/test-framework-hunit/test-framework-hunit-0.3.0.2-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/extensible-exceptions-0.1.1:=[profile?] <dev-haskell/extensible-exceptions-0.2.0:=[profile?]
diff --git a/dev-haskell/test-framework-leancheck/test-framework-leancheck-0.0.1.ebuild b/dev-haskell/test-framework-leancheck/test-framework-leancheck-0.0.1.ebuild
index b14b11071fa8..a97d343d8012 100644
--- a/dev-haskell/test-framework-leancheck/test-framework-leancheck-0.0.1.ebuild
+++ b/dev-haskell/test-framework-leancheck/test-framework-leancheck-0.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/leancheck:=[profile?]
diff --git a/dev-haskell/test-framework-quickcheck2/test-framework-quickcheck2-0.3.0.5-r2.ebuild b/dev-haskell/test-framework-quickcheck2/test-framework-quickcheck2-0.3.0.5-r2.ebuild
index ffc29e79c4a5..f75b9cee40c0 100644
--- a/dev-haskell/test-framework-quickcheck2/test-framework-quickcheck2-0.3.0.5-r2.ebuild
+++ b/dev-haskell/test-framework-quickcheck2/test-framework-quickcheck2-0.3.0.5-r2.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/extensible-exceptions-0.1.1:=[profile?] <dev-haskell/extensible-exceptions-0.2.0:=[profile?]
diff --git a/dev-haskell/test-framework-th/test-framework-th-0.2.4.ebuild b/dev-haskell/test-framework-th/test-framework-th-0.2.4.ebuild
index ed544371d519..ea66eeea7b8b 100644
--- a/dev-haskell/test-framework-th/test-framework-th-0.2.4.ebuild
+++ b/dev-haskell/test-framework-th/test-framework-th-0.2.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/haskell-src-exts:=[profile?]
diff --git a/dev-haskell/test-framework/test-framework-0.8.2.0-r3.ebuild b/dev-haskell/test-framework/test-framework-0.8.2.0-r3.ebuild
index cbfb75c0db94..05f74226c454 100644
--- a/dev-haskell/test-framework/test-framework-0.8.2.0-r3.ebuild
+++ b/dev-haskell/test-framework/test-framework-0.8.2.0-r3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT="test" # tests are missing
diff --git a/dev-haskell/texmath/texmath-0.12.5.1.ebuild b/dev-haskell/texmath/texmath-0.12.5.1.ebuild
index 88f695e4ab99..f3a9b269a915 100644
--- a/dev-haskell/texmath/texmath-0.12.5.1.ebuild
+++ b/dev-haskell/texmath/texmath-0.12.5.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="executable server"
RDEPEND=">=dev-haskell/pandoc-types-1.20:=[profile?] <dev-haskell/pandoc-types-1.23:=[profile?]
diff --git a/dev-haskell/text-conversions/text-conversions-0.3.1.ebuild b/dev-haskell/text-conversions/text-conversions-0.3.1.ebuild
index b2e217b3a934..8340d31af456 100644
--- a/dev-haskell/text-conversions/text-conversions-0.3.1.ebuild
+++ b/dev-haskell/text-conversions/text-conversions-0.3.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="<dev-haskell/base16-bytestring-2:=[profile?]
diff --git a/dev-haskell/text-icu/text-icu-0.7.1.0.ebuild b/dev-haskell/text-icu/text-icu-0.7.1.0.ebuild
index 6a2ff0284506..c992d111c326 100644
--- a/dev-haskell/text-icu/text-icu-0.7.1.0.ebuild
+++ b/dev-haskell/text-icu/text-icu-0.7.1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RESTRICT=test # QuickCheck occasionally finds counterexamples
# and fails to build: Duplicate instance declarations: instance NFData Ordering
diff --git a/dev-haskell/text-short/text-short-0.1.5.ebuild b/dev-haskell/text-short/text-short-0.1.5.ebuild
index e23c1ef1c6e5..7d512228c7e0 100644
--- a/dev-haskell/text-short/text-short-0.1.5.ebuild
+++ b/dev-haskell/text-short/text-short-0.1.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="asserts"
RDEPEND=">=dev-haskell/hashable-1.2.6:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
diff --git a/dev-haskell/text-show/text-show-3.9.7.ebuild b/dev-haskell/text-show/text-show-3.9.7.ebuild
index 186d801380a7..cd3050d16279 100644
--- a/dev-haskell/text-show/text-show-3.9.7.ebuild
+++ b/dev-haskell/text-show/text-show-3.9.7.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/base-compat-batteries-0.11:=[profile?] <dev-haskell/base-compat-batteries-0.13:=[profile?]
>=dev-haskell/bifunctors-5.1:=[profile?] <dev-haskell/bifunctors-6:=[profile?]
diff --git a/dev-haskell/text/text-1.2.5.0.ebuild b/dev-haskell/text/text-1.2.5.0.ebuild
index ee4dd9c95651..b06e6e150418 100644
--- a/dev-haskell/text/text-1.2.5.0.ebuild
+++ b/dev-haskell/text/text-1.2.5.0.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
#keep in sync with ghc-9.0.2
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
# break cyclic dependencies:
RESTRICT=test
diff --git a/dev-haskell/tf-random/tf-random-0.5.ebuild b/dev-haskell/tf-random/tf-random-0.5.ebuild
index de787319d06f..d84e96d6c8ab 100644
--- a/dev-haskell/tf-random/tf-random-0.5.ebuild
+++ b/dev-haskell/tf-random/tf-random-0.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/primitive-0.3:=[profile?]
diff --git a/dev-haskell/th-abstraction/th-abstraction-0.4.3.0.ebuild b/dev-haskell/th-abstraction/th-abstraction-0.4.3.0.ebuild
index 868c459e8167..1514455da7d2 100644
--- a/dev-haskell/th-abstraction/th-abstraction-0.4.3.0.ebuild
+++ b/dev-haskell/th-abstraction/th-abstraction-0.4.3.0.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://github.com/glguy/th-abstraction"
LICENSE="ISC"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/th-compat/th-compat-0.1.3.ebuild b/dev-haskell/th-compat/th-compat-0.1.3.ebuild
index ed783f7f1cb2..3865f69303ea 100644
--- a/dev-haskell/th-compat/th-compat-0.1.3.ebuild
+++ b/dev-haskell/th-compat/th-compat-0.1.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/th-lift-instances/th-lift-instances-0.1.19.ebuild b/dev-haskell/th-lift-instances/th-lift-instances-0.1.19.ebuild
index 9f5bf1d3d844..ce787c5e8b4b 100644
--- a/dev-haskell/th-lift-instances/th-lift-instances-0.1.19.ebuild
+++ b/dev-haskell/th-lift-instances/th-lift-instances-0.1.19.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/text:=[profile?]
>=dev-haskell/th-lift-0.8:=[profile?]
diff --git a/dev-haskell/th-lift/th-lift-0.8.2.ebuild b/dev-haskell/th-lift/th-lift-0.8.2.ebuild
index 6c55428bf98b..88fc63fbee81 100644
--- a/dev-haskell/th-lift/th-lift-0.8.2.ebuild
+++ b/dev-haskell/th-lift/th-lift-0.8.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/th-abstraction-0.2.3:=[profile?] <dev-haskell/th-abstraction-0.5:=[profile?]
diff --git a/dev-haskell/these/these-1.1.1.1.ebuild b/dev-haskell/these/these-1.1.1.1.ebuild
index 585ddfc5f3ee..3e694048a72e 100644
--- a/dev-haskell/these/these-1.1.1.1.ebuild
+++ b/dev-haskell/these/these-1.1.1.1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/assoc-1:=[profile?] <dev-haskell/assoc-1.1:=[profile?]
>=dev-haskell/hashable-1.2.7.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
diff --git a/dev-haskell/time-compat/files/fix-resolution-test.patch b/dev-haskell/time-compat/files/fix-resolution-test.patch
new file mode 100644
index 000000000000..918bd488dbc9
--- /dev/null
+++ b/dev-haskell/time-compat/files/fix-resolution-test.patch
@@ -0,0 +1,49 @@
+https://github.com/haskellari/time-compat/pull/33
+
+From 9f7aa0a5937b800402359c3e82f4bee296ae8e06 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Fri, 16 Sep 2022 11:19:20 -0400
+Subject: [PATCH] Backport 6516a35 "fix resolution test" from time
+
+The upstream version of time was incorrect in newer versions until
+https://github.com/haskell/time/commit/6516a35b3d8cad14a21a559a5d2fc22ddda32fcc.
+Because the compat implementation was correct and the upstream version
+of time is now logically identical, simply replace both versions with
+the current upstream time implementation.
+
+See https://github.com/haskellari/time-compat/issues/31 for details on
+which platforms the distinction matters. Does NOT close that issue
+though, because the original issue is for platforms on which the actual
+resolution is less precise than the expected, and this will only fix
+platforms on which the actual resolution is more precise.
+---
+ test/main/Test/Clock/Resolution.hs | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/test/main/Test/Clock/Resolution.hs b/test/main/Test/Clock/Resolution.hs
+index aab756b..4c0b1dd 100644
+--- a/test/main/Test/Clock/Resolution.hs
++++ b/test/main/Test/Clock/Resolution.hs
+@@ -25,7 +25,7 @@ gcdAll :: Real a => [a] -> a
+ gcdAll = foldr gcd' 0
+
+ testResolution :: (Show dt, Real dt) => String -> (at -> at -> dt) -> (dt, IO at) -> TestTree
+-testResolution name timeDiff (res, getTime) =
++testResolution name timeDiff (reportedRes, getTime) =
+ testCase name $ do
+ t0 <- getTime
+ times0 <-
+@@ -53,11 +53,8 @@ testResolution name timeDiff (res, getTime) =
+ threadDelay 1000 -- 1ms
+ getTime
+ let times = fmap (\t -> timeDiff t t0) $ times0 ++ times1 ++ times2 ++ times3 ++ times4
+-#if MIN_VERSION_time(1,8,0)
+- assertEqual "resolution" res $ gcdAll times
+-#else
+- assertBool ("resolution " ++ show (res, gcdAll times)) (res >= gcdAll times)
+-#endif
++ foundGrid = gcdAll times
++ assertBool ("resolution " ++ show (reportedRes, foundGrid)) (foundGrid <= reportedRes)
+
+ testResolutions :: TestTree
+ testResolutions =
diff --git a/dev-haskell/time-compat/time-compat-1.9.6.1.ebuild b/dev-haskell/time-compat/time-compat-1.9.6.1.ebuild
index 9c9036fee7e0..be1cc3bdd89b 100644
--- a/dev-haskell/time-compat/time-compat-1.9.6.1.ebuild
+++ b/dev-haskell/time-compat/time-compat-1.9.6.1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/base-orphans-0.8.4:=[profile?] <dev-haskell/base-orphans-0.9:=[profile?]
>=dev-haskell/hashable-1.3.2.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
@@ -35,6 +35,8 @@ DEPEND="${RDEPEND}
"
BDEPEND="app-text/dos2unix"
+PATCHES=( "${FILESDIR}/fix-resolution-test.patch" )
+
src_prepare() {
# pull revised cabal from upstream
cp "${DISTDIR}/${PF}.cabal" "${S}/${PN}.cabal" || die
diff --git a/dev-haskell/time-locale-compat/time-locale-compat-0.1.1.5.ebuild b/dev-haskell/time-locale-compat/time-locale-compat-0.1.1.5.ebuild
index a72b2902aeac..85551cb83812 100644
--- a/dev-haskell/time-locale-compat/time-locale-compat-0.1.1.5.ebuild
+++ b/dev-haskell/time-locale-compat/time-locale-compat-0.1.1.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/old-locale:=[profile?]
diff --git a/dev-haskell/time-manager/time-manager-0.0.0.ebuild b/dev-haskell/time-manager/time-manager-0.0.0.ebuild
index 6b6ec889eee6..58c053df7a26 100644
--- a/dev-haskell/time-manager/time-manager-0.0.0.ebuild
+++ b/dev-haskell/time-manager/time-manager-0.0.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/auto-update:=[profile?]
diff --git a/dev-haskell/timeit/timeit-2.0.ebuild b/dev-haskell/timeit/timeit-2.0.ebuild
index 8819a279adce..e6b6c130f204 100644
--- a/dev-haskell/timeit/timeit-2.0.ebuild
+++ b/dev-haskell/timeit/timeit-2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.8.2:=
diff --git a/dev-haskell/timezone-olson/timezone-olson-0.2.0.ebuild b/dev-haskell/timezone-olson/timezone-olson-0.2.0.ebuild
index 018addce573d..be3705eb91c4 100644
--- a/dev-haskell/timezone-olson/timezone-olson-0.2.0.ebuild
+++ b/dev-haskell/timezone-olson/timezone-olson-0.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/extensible-exceptions-0.1.0:=[profile?] <dev-haskell/extensible-exceptions-0.2:=[profile?]
>=dev-haskell/timezone-series-0.1.0:=[profile?] <dev-haskell/timezone-series-0.2:=[profile?]
diff --git a/dev-haskell/timezone-series/timezone-series-0.1.9.ebuild b/dev-haskell/timezone-series/timezone-series-0.1.9.ebuild
index 3d0add076bb2..4ff687c86363 100644
--- a/dev-haskell/timezone-series/timezone-series-0.1.9.ebuild
+++ b/dev-haskell/timezone-series/timezone-series-0.1.9.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/tls-session-manager/tls-session-manager-0.0.4.ebuild b/dev-haskell/tls-session-manager/tls-session-manager-0.0.4.ebuild
index 75a566f7644c..e3bed06a85b9 100644
--- a/dev-haskell/tls-session-manager/tls-session-manager-0.0.4.ebuild
+++ b/dev-haskell/tls-session-manager/tls-session-manager-0.0.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/auto-update:=[profile?]
diff --git a/dev-haskell/tls/tls-1.5.8.ebuild b/dev-haskell/tls/tls-1.5.8.ebuild
index 250cad22de05..1cff5038af62 100644
--- a/dev-haskell/tls/tls-1.5.8.ebuild
+++ b/dev-haskell/tls/tls-1.5.8.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+compat +network"
RDEPEND="dev-haskell/asn1-encoding:=[profile?]
diff --git a/dev-haskell/torrent/torrent-10000.1.1.ebuild b/dev-haskell/torrent/torrent-10000.1.1.ebuild
index 347133cf9811..36df97e63869 100644
--- a/dev-haskell/torrent/torrent-10000.1.1.ebuild
+++ b/dev-haskell/torrent/torrent-10000.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/bencode-0.2:=[profile?]
diff --git a/dev-haskell/transformers-base/transformers-base-0.4.5.2.ebuild b/dev-haskell/transformers-base/transformers-base-0.4.5.2.ebuild
index ea04c362c567..40c421fa271b 100644
--- a/dev-haskell/transformers-base/transformers-base-0.4.5.2.ebuild
+++ b/dev-haskell/transformers-base/transformers-base-0.4.5.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE="+orphaninstances"
RDEPEND=">=dev-haskell/stm-2.3:=[profile?]
diff --git a/dev-haskell/transformers-compat/transformers-compat-0.6.6.ebuild b/dev-haskell/transformers-compat/transformers-compat-0.6.6.ebuild
index 50d7b36d201a..335656bdc918 100644
--- a/dev-haskell/transformers-compat/transformers-compat-0.6.6.ebuild
+++ b/dev-haskell/transformers-compat/transformers-compat-0.6.6.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-haskell/fail-4.9:=[profile?] <dev-haskell/fail-4.10:=[profile?]
diff --git a/dev-haskell/transformers/transformers-0.5.6.2.ebuild b/dev-haskell/transformers/transformers-0.5.6.2.ebuild
index f4b2725a906a..789963a6dbf5 100644
--- a/dev-haskell/transformers/transformers-0.5.6.2.ebuild
+++ b/dev-haskell/transformers/transformers-0.5.6.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/tree-diff/tree-diff-0.2.1.1.ebuild b/dev-haskell/tree-diff/tree-diff-0.2.1.1.ebuild
index 66d5f28f9b2e..e64090f0e9ba 100644
--- a/dev-haskell/tree-diff/tree-diff-0.2.1.1.ebuild
+++ b/dev-haskell/tree-diff/tree-diff-0.2.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/ansi-terminal-0.10:=[profile?] <dev-haskell/ansi-terminal-0.12:=[profile?]
>=dev-haskell/ansi-wl-pprint-0.6.8.2:=[profile?] <dev-haskell/ansi-wl-pprint-0.7:=[profile?]
diff --git a/dev-haskell/trifecta/trifecta-2.1.2.ebuild b/dev-haskell/trifecta/trifecta-2.1.2.ebuild
index b805a324818a..0379662e0b5b 100644
--- a/dev-haskell/trifecta/trifecta-2.1.2.ebuild
+++ b/dev-haskell/trifecta/trifecta-2.1.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/ansi-terminal-0.6:=[profile?] <dev-haskell/ansi-terminal-0.12:=[profile?]
>=dev-haskell/blaze-builder-0.3.0.1:=[profile?] <dev-haskell/blaze-builder-0.5:=[profile?]
diff --git a/dev-haskell/type-equality/type-equality-1.ebuild b/dev-haskell/type-equality/type-equality-1.ebuild
index 3822b28bf9ca..d8769c361678 100644
--- a/dev-haskell/type-equality/type-equality-1.ebuild
+++ b/dev-haskell/type-equality/type-equality-1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/typed-process/typed-process-0.2.6.0.ebuild b/dev-haskell/typed-process/typed-process-0.2.6.0.ebuild
index c98a9f59da52..6035dbf2e793 100644
--- a/dev-haskell/typed-process/typed-process-0.2.6.0.ebuild
+++ b/dev-haskell/typed-process/typed-process-0.2.6.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/async:=[profile?]
diff --git a/dev-haskell/unbounded-delays/unbounded-delays-0.1.1.0.ebuild b/dev-haskell/unbounded-delays/unbounded-delays-0.1.1.0.ebuild
index 1e93627077ac..c472e20e6a53 100644
--- a/dev-haskell/unbounded-delays/unbounded-delays-0.1.1.0.ebuild
+++ b/dev-haskell/unbounded-delays/unbounded-delays-0.1.1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/unicode-collation/unicode-collation-0.1.3.1.ebuild b/dev-haskell/unicode-collation/unicode-collation-0.1.3.1.ebuild
index 33e42136d521..25adf6d3d7fe 100644
--- a/dev-haskell/unicode-collation/unicode-collation-0.1.3.1.ebuild
+++ b/dev-haskell/unicode-collation/unicode-collation-0.1.3.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="doctests executable"
RDEPEND="dev-haskell/parsec:=[profile?]
diff --git a/dev-haskell/unicode-data/unicode-data-0.3.0.ebuild b/dev-haskell/unicode-data/unicode-data-0.3.0.ebuild
index 64729d63fe4f..7250c2ae41da 100644
--- a/dev-haskell/unicode-data/unicode-data-0.3.0.ebuild
+++ b/dev-haskell/unicode-data/unicode-data-0.3.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="Apache-2.0"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-lang/ghc-8.4.3:=
"
diff --git a/dev-haskell/unicode-transforms/unicode-transforms-0.3.7.1-r1.ebuild b/dev-haskell/unicode-transforms/unicode-transforms-0.3.7.1-r1.ebuild
index df181e885550..70861694886f 100644
--- a/dev-haskell/unicode-transforms/unicode-transforms-0.3.7.1-r1.ebuild
+++ b/dev-haskell/unicode-transforms/unicode-transforms-0.3.7.1-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/text-1.1.1:=[profile?] <dev-haskell/text-1.3:=[profile?]
diff --git a/dev-haskell/uniplate/uniplate-1.6.13.ebuild b/dev-haskell/uniplate/uniplate-1.6.13.ebuild
index 3bafe5a2baa4..5faa74139326 100644
--- a/dev-haskell/uniplate/uniplate-1.6.13.ebuild
+++ b/dev-haskell/uniplate/uniplate-1.6.13.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/hashable-1.1.2.3:=[profile?]
diff --git a/dev-haskell/unix-compat/unix-compat-0.5.2.ebuild b/dev-haskell/unix-compat/unix-compat-0.5.2.ebuild
index 30a3b2624172..791e2c88724a 100644
--- a/dev-haskell/unix-compat/unix-compat-0.5.2.ebuild
+++ b/dev-haskell/unix-compat/unix-compat-0.5.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="old-time"
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/unix-time/unix-time-0.4.7.ebuild b/dev-haskell/unix-time/unix-time-0.4.7.ebuild
index 2d0bedf0987e..ee61b21cf727 100644
--- a/dev-haskell/unix-time/unix-time-0.4.7.ebuild
+++ b/dev-haskell/unix-time/unix-time-0.4.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # QuickCheck finds counterxamples:
diff --git a/dev-haskell/unliftio-core/unliftio-core-0.1.2.0.ebuild b/dev-haskell/unliftio-core/unliftio-core-0.1.2.0.ebuild
index 6165cce62301..5b8bbd99472c 100644
--- a/dev-haskell/unliftio-core/unliftio-core-0.1.2.0.ebuild
+++ b/dev-haskell/unliftio-core/unliftio-core-0.1.2.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.8.2:=
diff --git a/dev-haskell/unliftio/unliftio-0.2.18.ebuild b/dev-haskell/unliftio/unliftio-0.2.18.ebuild
index ea005fbd52bc..14c9d0c484d5 100644
--- a/dev-haskell/unliftio/unliftio-0.2.18.ebuild
+++ b/dev-haskell/unliftio/unliftio-0.2.18.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">dev-haskell/async-2.1.1:=[profile?]
>=dev-haskell/stm-2.4.3:=[profile?]
diff --git a/dev-haskell/unordered-containers/unordered-containers-0.2.17.0.ebuild b/dev-haskell/unordered-containers/unordered-containers-0.2.17.0.ebuild
index 511e53671d3c..6ed67bbcaf02 100644
--- a/dev-haskell/unordered-containers/unordered-containers-0.2.17.0.ebuild
+++ b/dev-haskell/unordered-containers/unordered-containers-0.2.17.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hashable-1.2.5:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
>=dev-lang/ghc-8.4.3:=
diff --git a/dev-haskell/utf8-light/utf8-light-0.4.2.ebuild b/dev-haskell/utf8-light/utf8-light-0.4.2.ebuild
index 9bbb803fadf9..b2c2e32a195b 100644
--- a/dev-haskell/utf8-light/utf8-light-0.4.2.ebuild
+++ b/dev-haskell/utf8-light/utf8-light-0.4.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/utf8-string/utf8-string-1.0.1.1.ebuild b/dev-haskell/utf8-string/utf8-string-1.0.1.1.ebuild
index 5dc7b57df2a0..12e9620a1a74 100644
--- a/dev-haskell/utf8-string/utf8-string-1.0.1.1.ebuild
+++ b/dev-haskell/utf8-string/utf8-string-1.0.1.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/uuid-types/uuid-types-1.0.5.ebuild b/dev-haskell/uuid-types/uuid-types-1.0.5.ebuild
index f7b5f091f86e..48de24ea6a7c 100644
--- a/dev-haskell/uuid-types/uuid-types-1.0.5.ebuild
+++ b/dev-haskell/uuid-types/uuid-types-1.0.5.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hashable-1.2.7.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
>=dev-haskell/random-1.1:=[profile?] <dev-haskell/random-1.3:=[profile?]
diff --git a/dev-haskell/uuid/uuid-1.3.15.ebuild b/dev-haskell/uuid/uuid-1.3.15.ebuild
index c60364a5663a..bac900b1f1d3 100644
--- a/dev-haskell/uuid/uuid-1.3.15.ebuild
+++ b/dev-haskell/uuid/uuid-1.3.15.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RESTRICT=test
diff --git a/dev-haskell/vault/vault-0.3.1.5.ebuild b/dev-haskell/vault/vault-0.3.1.5.ebuild
index 5a381fa5db6f..35415b147095 100644
--- a/dev-haskell/vault/vault-0.3.1.5.ebuild
+++ b/dev-haskell/vault/vault-0.3.1.5.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/hashable-1.1.2.5:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
>=dev-haskell/unordered-containers-0.2.3.0:=[profile?] <dev-haskell/unordered-containers-0.3:=[profile?]
diff --git a/dev-haskell/vector-algorithms/vector-algorithms-0.8.0.4.ebuild b/dev-haskell/vector-algorithms/vector-algorithms-0.8.0.4.ebuild
index 5da8dfcfea46..96ccf8306967 100644
--- a/dev-haskell/vector-algorithms/vector-algorithms-0.8.0.4.ebuild
+++ b/dev-haskell/vector-algorithms/vector-algorithms-0.8.0.4.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+bench +boundschecks internalchecks +properties unsafechecks"
RDEPEND=">=dev-haskell/primitive-0.3:=[profile?] <dev-haskell/primitive-0.8:=[profile?]
diff --git a/dev-haskell/vector-binary-instances/vector-binary-instances-0.2.5.1.ebuild b/dev-haskell/vector-binary-instances/vector-binary-instances-0.2.5.1.ebuild
index 6e9a73c1cc3d..8e26e9836250 100644
--- a/dev-haskell/vector-binary-instances/vector-binary-instances-0.2.5.1.ebuild
+++ b/dev-haskell/vector-binary-instances/vector-binary-instances-0.2.5.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/vector-0.6:=[profile?] <dev-haskell/vector-0.13:=[profile?]
diff --git a/dev-haskell/vector-th-unbox/vector-th-unbox-0.2.1.7.ebuild b/dev-haskell/vector-th-unbox/vector-th-unbox-0.2.1.7.ebuild
index 245ed5345db5..6bf94baf3fc5 100644
--- a/dev-haskell/vector-th-unbox/vector-th-unbox-0.2.1.7.ebuild
+++ b/dev-haskell/vector-th-unbox/vector-th-unbox-0.2.1.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/vector-0.7.1:=[profile?] <dev-haskell/vector-0.13:=[profile?]
diff --git a/dev-haskell/vector/vector-0.12.3.1.ebuild b/dev-haskell/vector/vector-0.12.3.1.ebuild
index 2c1244b38023..41cbe0c6a869 100644
--- a/dev-haskell/vector/vector-0.12.3.1.ebuild
+++ b/dev-haskell/vector/vector-0.12.3.1.ebuild
@@ -21,7 +21,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+boundschecks internalchecks unsafechecks"
PATCHES=( "${FILESDIR}/${PN}-0.12.3.1-cabal-doctest.patch" )
diff --git a/dev-haskell/void/void-0.7.3.ebuild b/dev-haskell/void/void-0.7.3.ebuild
index 8bf9cdaede57..c11571d0e27d 100644
--- a/dev-haskell/void/void-0.7.3.ebuild
+++ b/dev-haskell/void/void-0.7.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="safe"
RDEPEND=">=dev-haskell/hashable-1.1:=[profile?]
diff --git a/dev-haskell/wai-app-static/wai-app-static-3.1.7.2-r1.ebuild b/dev-haskell/wai-app-static/wai-app-static-3.1.7.2-r1.ebuild
index 4a66f33060de..bd6f9dbbd4e2 100644
--- a/dev-haskell/wai-app-static/wai-app-static-3.1.7.2-r1.ebuild
+++ b/dev-haskell/wai-app-static/wai-app-static-3.1.7.2-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="print"
RDEPEND=">=dev-haskell/blaze-html-0.5:=[profile?]
diff --git a/dev-haskell/wai-extra/wai-extra-3.1.4.1.ebuild b/dev-haskell/wai-extra/wai-extra-3.1.4.1.ebuild
index b5a274438598..85a90ac67a8d 100644
--- a/dev-haskell/wai-extra/wai-extra-3.1.4.1.ebuild
+++ b/dev-haskell/wai-extra/wai-extra-3.1.4.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="examples"
RDEPEND="dev-haskell/aeson:=[profile?]
diff --git a/dev-haskell/wai-logger/wai-logger-2.3.6.ebuild b/dev-haskell/wai-logger/wai-logger-2.3.6.ebuild
index 5ad45751adf1..d5b70563b891 100644
--- a/dev-haskell/wai-logger/wai-logger-2.3.6.ebuild
+++ b/dev-haskell/wai-logger/wai-logger-2.3.6.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RESTRICT=test # does not specify full dependencies
diff --git a/dev-haskell/wai/wai-3.2.3.ebuild b/dev-haskell/wai/wai-3.2.3.ebuild
index 8db77d90004f..69db4ded4336 100644
--- a/dev-haskell/wai/wai-3.2.3.ebuild
+++ b/dev-haskell/wai/wai-3.2.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/http-types-0.7:=[profile?]
>=dev-haskell/network-2.2.1.5:=[profile?]
diff --git a/dev-haskell/warp-tls/warp-tls-3.2.12.ebuild b/dev-haskell/warp-tls/warp-tls-3.2.12.ebuild
index 95f1f145b9b4..af46065930e3 100644
--- a/dev-haskell/warp-tls/warp-tls-3.2.12.ebuild
+++ b/dev-haskell/warp-tls/warp-tls-3.2.12.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/cryptonite-0.12:=[profile?]
diff --git a/dev-haskell/warp/warp-3.3.21.ebuild b/dev-haskell/warp/warp-3.3.21.ebuild
index 685001ed9d62..00d6c687a33d 100644
--- a/dev-haskell/warp/warp-3.3.21.ebuild
+++ b/dev-haskell/warp/warp-3.3.21.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+allow-sendfilefd debug +x509"
RDEPEND=">=dev-haskell/auto-update-0.1.3:=[profile?] <dev-haskell/auto-update-0.2:=[profile?]
diff --git a/dev-haskell/wcwidth/wcwidth-0.0.2.ebuild b/dev-haskell/wcwidth/wcwidth-0.0.2.ebuild
index eed3876aa063..3d5345e1ee36 100644
--- a/dev-haskell/wcwidth/wcwidth-0.0.2.ebuild
+++ b/dev-haskell/wcwidth/wcwidth-0.0.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="cli"
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/witherable/witherable-0.4.2.ebuild b/dev-haskell/witherable/witherable-0.4.2.ebuild
index 2df75995d87c..f9751f084fee 100644
--- a/dev-haskell/witherable/witherable-0.4.2.ebuild
+++ b/dev-haskell/witherable/witherable-0.4.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/base-orphans-0.8.4:=[profile?] <dev-haskell/base-orphans-0.9:=[profile?]
>=dev-haskell/hashable-1.2.7.0:=[profile?] <dev-haskell/hashable-1.5:=[profile?]
diff --git a/dev-haskell/wl-pprint-annotated/wl-pprint-annotated-0.1.0.1.ebuild b/dev-haskell/wl-pprint-annotated/wl-pprint-annotated-0.1.0.1.ebuild
index d9c7250d15d0..e77757c5ac0e 100644
--- a/dev-haskell/wl-pprint-annotated/wl-pprint-annotated-0.1.0.1.ebuild
+++ b/dev-haskell/wl-pprint-annotated/wl-pprint-annotated-0.1.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/semigroups-0.9:=[profile?] <dev-haskell/semigroups-1:=[profile?]
diff --git a/dev-haskell/word8/word8-0.1.3.ebuild b/dev-haskell/word8/word8-0.1.3.ebuild
index d259963c5e90..3f84ef379bf3 100644
--- a/dev-haskell/word8/word8-0.1.3.ebuild
+++ b/dev-haskell/word8/word8-0.1.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-lang/ghc-7.4.1:=
diff --git a/dev-haskell/x11-xft/x11-xft-0.3.4.ebuild b/dev-haskell/x11-xft/x11-xft-0.3.4.ebuild
index f829930741dc..48b0754a3a1f 100644
--- a/dev-haskell/x11-xft/x11-xft-0.3.4.ebuild
+++ b/dev-haskell/x11-xft/x11-xft-0.3.4.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://hackage.haskell.org/package/X11-xft"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/utf8-string-0.1:=[profile?]
>=dev-haskell/x11-1.2.1:=[xinerama,profile?]
diff --git a/dev-haskell/x11/x11-1.10.2.ebuild b/dev-haskell/x11/x11-1.10.2.ebuild
index d693e34f82c4..fb4f0dae9fbe 100644
--- a/dev-haskell/x11/x11-1.10.2.ebuild
+++ b/dev-haskell/x11/x11-1.10.2.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://github.com/xmonad/X11"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="+xinerama"
# add +xinerama to IUSE and RDEPEND on libXScrnSaver and libXinerama below
diff --git a/dev-haskell/x509-store/x509-store-1.6.7.ebuild b/dev-haskell/x509-store/x509-store-1.6.7.ebuild
index e77dc119e996..456958825df6 100644
--- a/dev-haskell/x509-store/x509-store-1.6.7.ebuild
+++ b/dev-haskell/x509-store/x509-store-1.6.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/asn1-encoding-0.9:=[profile?] <dev-haskell/asn1-encoding-0.10:=[profile?]
diff --git a/dev-haskell/x509-system/x509-system-1.6.6.ebuild b/dev-haskell/x509-system/x509-system-1.6.6.ebuild
index c22a903c456f..71c0b42bcae6 100644
--- a/dev-haskell/x509-system/x509-system-1.6.6.ebuild
+++ b/dev-haskell/x509-system/x509-system-1.6.6.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/mtl:=[profile?]
diff --git a/dev-haskell/x509-validation/x509-validation-1.6.11.ebuild b/dev-haskell/x509-validation/x509-validation-1.6.11.ebuild
index ed98c12e9cce..2e37c9a20ab7 100644
--- a/dev-haskell/x509-validation/x509-validation-1.6.11.ebuild
+++ b/dev-haskell/x509-validation/x509-validation-1.6.11.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/asn1-encoding-0.9:=[profile?] <dev-haskell/asn1-encoding-0.10:=[profile?]
diff --git a/dev-haskell/x509/x509-1.7.5.ebuild b/dev-haskell/x509/x509-1.7.5.ebuild
index 5f1c000d1d16..6ab2c25ae241 100644
--- a/dev-haskell/x509/x509-1.7.5.ebuild
+++ b/dev-haskell/x509/x509-1.7.5.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/asn1-encoding-0.9:=[profile?] <dev-haskell/asn1-encoding-0.10:=[profile?]
diff --git a/dev-haskell/xml-conduit/xml-conduit-1.9.1.1.ebuild b/dev-haskell/xml-conduit/xml-conduit-1.9.1.1.ebuild
index 1c45577d438b..ff30dfa328dc 100644
--- a/dev-haskell/xml-conduit/xml-conduit-1.9.1.1.ebuild
+++ b/dev-haskell/xml-conduit/xml-conduit-1.9.1.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/attoparsec-0.10:=[profile?]
>=dev-haskell/blaze-html-0.5:=[profile?]
diff --git a/dev-haskell/xml-hamlet/xml-hamlet-0.5.0.1.ebuild b/dev-haskell/xml-hamlet/xml-hamlet-0.5.0.1.ebuild
index 95c59313677b..d95b950ea7b2 100644
--- a/dev-haskell/xml-hamlet/xml-hamlet-0.5.0.1.ebuild
+++ b/dev-haskell/xml-hamlet/xml-hamlet-0.5.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/parsec-2.0:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
diff --git a/dev-haskell/xml-types/xml-types-0.3.8.ebuild b/dev-haskell/xml-types/xml-types-0.3.8.ebuild
index 06940b4c02d1..6616e424a0a5 100644
--- a/dev-haskell/xml-types/xml-types-0.3.8.ebuild
+++ b/dev-haskell/xml-types/xml-types-0.3.8.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/text:=[profile?]
diff --git a/dev-haskell/xml/xml-1.3.14.ebuild b/dev-haskell/xml/xml-1.3.14.ebuild
index bc1f8c3f5b6c..4697b3f8324d 100644
--- a/dev-haskell/xml/xml-1.3.14.ebuild
+++ b/dev-haskell/xml/xml-1.3.14.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/text:=[profile?]
diff --git a/dev-haskell/xss-sanitize/xss-sanitize-0.3.6.ebuild b/dev-haskell/xss-sanitize/xss-sanitize-0.3.6.ebuild
index 7a1ae3ddd4dc..e912787b644e 100644
--- a/dev-haskell/xss-sanitize/xss-sanitize-0.3.6.ebuild
+++ b/dev-haskell/xss-sanitize/xss-sanitize-0.3.6.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND=">=dev-haskell/attoparsec-0.10.0.3:=[profile?] <dev-haskell/attoparsec-1:=[profile?]
>=dev-haskell/css-text-0.1.1:=[profile?] <dev-haskell/css-text-0.2:=[profile?]
diff --git a/dev-haskell/yaml/yaml-0.11.8.0.ebuild b/dev-haskell/yaml/yaml-0.11.8.0.ebuild
index 35da845638c1..c01b0d3470c2 100644
--- a/dev-haskell/yaml/yaml-0.11.8.0.ebuild
+++ b/dev-haskell/yaml/yaml-0.11.8.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="examples executable"
RDEPEND=">=dev-haskell/aeson-0.11:=[profile?]
diff --git a/dev-haskell/yesod-core/yesod-core-1.6.23.1.ebuild b/dev-haskell/yesod-core/yesod-core-1.6.23.1.ebuild
index ba8737f768a4..b5a84cffb3f6 100644
--- a/dev-haskell/yesod-core/yesod-core-1.6.23.1.ebuild
+++ b/dev-haskell/yesod-core/yesod-core-1.6.23.1.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://www.yesodweb.com/"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RESTRICT=test # requires network access
diff --git a/dev-haskell/yesod-form/yesod-form-1.7.0.ebuild b/dev-haskell/yesod-form/yesod-form-1.7.0.ebuild
index 09321cb102ce..8bbd0f3131b2 100644
--- a/dev-haskell/yesod-form/yesod-form-1.7.0.ebuild
+++ b/dev-haskell/yesod-form/yesod-form-1.7.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+network-uri"
RDEPEND="dev-haskell/aeson:=[profile?]
diff --git a/dev-haskell/yesod-persistent/yesod-persistent-1.6.0.8.ebuild b/dev-haskell/yesod-persistent/yesod-persistent-1.6.0.8.ebuild
index ef84a1818058..2c6c2a63a946 100644
--- a/dev-haskell/yesod-persistent/yesod-persistent-1.6.0.8.ebuild
+++ b/dev-haskell/yesod-persistent/yesod-persistent-1.6.0.8.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://www.yesodweb.com/"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/blaze-builder:=[profile?]
dev-haskell/conduit:=[profile?]
diff --git a/dev-haskell/yesod-static/yesod-static-1.6.1.0.ebuild b/dev-haskell/yesod-static/yesod-static-1.6.1.0.ebuild
index 43d5ef0a10c3..25ff501bb800 100644
--- a/dev-haskell/yesod-static/yesod-static-1.6.1.0.ebuild
+++ b/dev-haskell/yesod-static/yesod-static-1.6.1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/async:=[profile?]
diff --git a/dev-haskell/yesod-test/yesod-test-1.6.12.ebuild b/dev-haskell/yesod-test/yesod-test-1.6.12.ebuild
index 95b62c7c66b8..8a0ba3fd0f64 100644
--- a/dev-haskell/yesod-test/yesod-test-1.6.12.ebuild
+++ b/dev-haskell/yesod-test/yesod-test-1.6.12.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="dev-haskell/aeson:=[profile?]
diff --git a/dev-haskell/yesod/yesod-1.6.2.ebuild b/dev-haskell/yesod/yesod-1.6.2.ebuild
index 4bd3d17840fa..f6b13208a6cd 100644
--- a/dev-haskell/yesod/yesod-1.6.2.ebuild
+++ b/dev-haskell/yesod/yesod-1.6.2.ebuild
@@ -13,7 +13,7 @@ HOMEPAGE="https://www.yesodweb.com/"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/aeson:=[profile?]
>=dev-haskell/conduit-1.3:=[profile?]
diff --git a/dev-haskell/zip-archive/zip-archive-0.4.1.ebuild b/dev-haskell/zip-archive/zip-archive-0.4.1.ebuild
index b54ca3ac19fe..b28822b63220 100644
--- a/dev-haskell/zip-archive/zip-archive-0.4.1.ebuild
+++ b/dev-haskell/zip-archive/zip-archive-0.4.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="executable"
RDEPEND=">=dev-haskell/digest-0.0.0.1:=[profile?]
diff --git a/dev-haskell/zlib/zlib-0.6.2.3.ebuild b/dev-haskell/zlib/zlib-0.6.2.3.ebuild
index af84c1e03d0d..74e85e39dd27 100644
--- a/dev-haskell/zlib/zlib-0.6.2.3.ebuild
+++ b/dev-haskell/zlib/zlib-0.6.2.3.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~ppc-macos"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~ppc-macos"
IUSE="bundled-c-zlib non-blocking-ffi"
RDEPEND=">=dev-lang/ghc-8.4.3:=
diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest
index 51c0e4466214..40f74af60159 100644
--- a/dev-lang/ghc/Manifest
+++ b/dev-lang/ghc/Manifest
@@ -8,4 +8,5 @@ DIST ghc-bin-9.0.2-aarch64-unknown-linux-gnu.tar.gz 304621314 BLAKE2B d38b8571d4
DIST ghc-bin-9.0.2-i686-pc-linux-gnu.tbz2 123509908 BLAKE2B 45614984803a7bfa266f99d4adb4b5f2ab7b9e5e89c6ecd501296fc99a1d96e798ccb9c832f8dcb15fff9725beb918a7b63e62ff13f59b6506a2ef17930c45d2 SHA512 e0b7f4474c16f0763a2f787027fbdfeb3125b48c987fa1196bc189fefad9f0bfa2806da62af46d61ca911f5275b578076e2b326acf39e0894a8daa9deda0843a
DIST ghc-bin-9.0.2-powerpc64-unknown-linux-gnu.tar.gz 235636284 BLAKE2B 878ac300cca5d2cbc5cb21dbb347da755b4027cbf63ec77464740854fa8010569de5e03acef67cd877da13665c906b2fd04e24e226e9eb39b57ba979093c732b SHA512 28f096e965abdac9cc370c882639f10285b9073ba5332f7af215eccff948e41c01c3d6bb3bc8e3b4e809e12867a95b49f82dd76e0090b974088f75ab9d1bc199
DIST ghc-bin-9.0.2-powerpc64le-unknown-linux-gnu.tar.gz 275226316 BLAKE2B 10ade2359432b0ede7431ee543f0ff47f4b203465d81719da579ad63ca467359eb9fcf7336a12feb6ff75a480f349576ff8ea1b4ebe1094fff228ae4fd00d6e0 SHA512 64b4c84d149358b8d3a6cb29a6d3a75af11e7b14e6d910c9789c9949262e4ed2a17f8a0d1e5dd297121957061fe2395d6f43acae6b4ab28851e3cd414cd9c89c
+DIST ghc-bin-9.0.2-riscv64-unknown-linux-gnu.tar.gz 313475807 BLAKE2B a5e1bbd4630eaff63dd01d79fdcb26a663771c0241d3211aa3a0033cb58addbe8e696177500ac06ae727fc645bfc6f16a3df763a6a0ae039b8823bcbfb9918bb SHA512 5e462f6f9d3f3507b3e09230729faa2a3e1fa92a8024fac602d75b804fff25f27e335871658f4b7b2c671f9e066373ca0285720da315a6c22f6f2c9c3cfea927
DIST ghc-bin-9.0.2-x86_64-pc-linux-gnu.tbz2 121536759 BLAKE2B 4433e2d266f065d2b2944b711d622ec26288a2187ac03562257a671744b44da35110ce16ac6d76f7062a563488885326be073e0ff03c7e48250051c3b4763d96 SHA512 2de29a9ddbfd0fac797cdd628f3657ff38e6a153151849508bba75d36f84394ed77750435ff5cc1bdfcd30ef2b6e009bde965bd0a83e0496b5027239642f4b6c
diff --git a/dev-lang/ghc/files/ghc-9.0.2-riscv64-llvm.patch b/dev-lang/ghc/files/ghc-9.0.2-riscv64-llvm.patch
new file mode 100644
index 000000000000..0dcd6cde197b
--- /dev/null
+++ b/dev-lang/ghc/files/ghc-9.0.2-riscv64-llvm.patch
@@ -0,0 +1,799 @@
+GHC supplied all of the information necessary for a registerised build on riscv using LLVM codegen in 9.2.
+Andreas Schwab backported this to 8.10.7 in OpenSUSE: https://build.opensuse.org/package/show/openSUSE:Factory:RISCV/ghc
+This is a forward-port of the backport to 9.0.
+
+diff --git a/compiler/GHC/CmmToAsm.hs b/compiler/GHC/CmmToAsm.hs
+index 23175a1cd2..3f77573495 100644
+--- a/compiler/GHC/CmmToAsm.hs
++++ b/compiler/GHC/CmmToAsm.hs
+@@ -182,6 +182,7 @@ nativeCodeGen dflags this_mod modLoc h us cmms
+ ArchAlpha -> panic "nativeCodeGen: No NCG for Alpha"
+ ArchMipseb -> panic "nativeCodeGen: No NCG for mipseb"
+ ArchMipsel -> panic "nativeCodeGen: No NCG for mipsel"
++ ArchRISCV64 -> panic "nativeCodeGen: No NCG for RISCV64"
+ ArchUnknown -> panic "nativeCodeGen: No NCG for unknown arch"
+ ArchJavaScript-> panic "nativeCodeGen: No NCG for JavaScript"
+
+diff --git a/compiler/GHC/CmmToAsm/Reg/Graph/TrivColorable.hs b/compiler/GHC/CmmToAsm/Reg/Graph/TrivColorable.hs
+index 105e2ebdf9..07eca93ac3 100644
+--- a/compiler/GHC/CmmToAsm/Reg/Graph/TrivColorable.hs
++++ b/compiler/GHC/CmmToAsm/Reg/Graph/TrivColorable.hs
+@@ -120,6 +120,7 @@ trivColorable platform virtualRegSqueeze realRegSqueeze RcInteger conflicts excl
+ ArchMipseb -> panic "trivColorable ArchMipseb"
+ ArchMipsel -> panic "trivColorable ArchMipsel"
+ ArchS390X -> panic "trivColorable ArchS390X"
++ ArchRISCV64 -> panic "trivColorable ArchRISCV64"
+ ArchJavaScript-> panic "trivColorable ArchJavaScript"
+ ArchUnknown -> panic "trivColorable ArchUnknown")
+ , count2 <- accSqueeze 0 cALLOCATABLE_REGS_INTEGER
+@@ -151,6 +152,7 @@ trivColorable platform virtualRegSqueeze realRegSqueeze RcFloat conflicts exclus
+ ArchMipseb -> panic "trivColorable ArchMipseb"
+ ArchMipsel -> panic "trivColorable ArchMipsel"
+ ArchS390X -> panic "trivColorable ArchS390X"
++ ArchRISCV64 -> panic "trivColorable ArchRISCV64"
+ ArchJavaScript-> panic "trivColorable ArchJavaScript"
+ ArchUnknown -> panic "trivColorable ArchUnknown")
+ , count2 <- accSqueeze 0 cALLOCATABLE_REGS_FLOAT
+@@ -184,6 +186,7 @@ trivColorable platform virtualRegSqueeze realRegSqueeze RcDouble conflicts exclu
+ ArchMipseb -> panic "trivColorable ArchMipseb"
+ ArchMipsel -> panic "trivColorable ArchMipsel"
+ ArchS390X -> panic "trivColorable ArchS390X"
++ ArchRISCV64 -> panic "trivColorable ArchRISCV64"
+ ArchJavaScript-> panic "trivColorable ArchJavaScript"
+ ArchUnknown -> panic "trivColorable ArchUnknown")
+ , count2 <- accSqueeze 0 cALLOCATABLE_REGS_DOUBLE
+diff --git a/compiler/GHC/CmmToAsm/Reg/Linear.hs b/compiler/GHC/CmmToAsm/Reg/Linear.hs
+index 1ab353cc34..d8228c69cd 100644
+--- a/compiler/GHC/CmmToAsm/Reg/Linear.hs
++++ b/compiler/GHC/CmmToAsm/Reg/Linear.hs
+@@ -225,6 +225,7 @@ linearRegAlloc config entry_ids block_live sccs
+ ArchAlpha -> panic "linearRegAlloc ArchAlpha"
+ ArchMipseb -> panic "linearRegAlloc ArchMipseb"
+ ArchMipsel -> panic "linearRegAlloc ArchMipsel"
++ ArchRISCV64 -> panic "linearRegAlloc ArchRISCV64"
+ ArchJavaScript -> panic "linearRegAlloc ArchJavaScript"
+ ArchUnknown -> panic "linearRegAlloc ArchUnknown"
+ where
+diff --git a/compiler/GHC/CmmToAsm/Reg/Linear/FreeRegs.hs b/compiler/GHC/CmmToAsm/Reg/Linear/FreeRegs.hs
+index b89c056a82..1768422f5c 100644
+--- a/compiler/GHC/CmmToAsm/Reg/Linear/FreeRegs.hs
++++ b/compiler/GHC/CmmToAsm/Reg/Linear/FreeRegs.hs
+@@ -83,5 +83,6 @@ maxSpillSlots config = case platformArch (ncgPlatform config) of
+ ArchAlpha -> panic "maxSpillSlots ArchAlpha"
+ ArchMipseb -> panic "maxSpillSlots ArchMipseb"
+ ArchMipsel -> panic "maxSpillSlots ArchMipsel"
++ ArchRISCV64 -> panic "maxSpillSlots ArchRISCV64"
+ ArchJavaScript-> panic "maxSpillSlots ArchJavaScript"
+ ArchUnknown -> panic "maxSpillSlots ArchUnknown"
+diff --git a/compiler/GHC/CmmToAsm/Reg/Target.hs b/compiler/GHC/CmmToAsm/Reg/Target.hs
+index ba249801ba..284df45983 100644
+--- a/compiler/GHC/CmmToAsm/Reg/Target.hs
++++ b/compiler/GHC/CmmToAsm/Reg/Target.hs
+@@ -51,6 +51,7 @@ targetVirtualRegSqueeze platform
+ ArchAlpha -> panic "targetVirtualRegSqueeze ArchAlpha"
+ ArchMipseb -> panic "targetVirtualRegSqueeze ArchMipseb"
+ ArchMipsel -> panic "targetVirtualRegSqueeze ArchMipsel"
++ ArchRISCV64 -> panic "targetVirtualRegSqueeze ArchRISCV64"
+ ArchJavaScript-> panic "targetVirtualRegSqueeze ArchJavaScript"
+ ArchUnknown -> panic "targetVirtualRegSqueeze ArchUnknown"
+
+@@ -70,6 +71,7 @@ targetRealRegSqueeze platform
+ ArchAlpha -> panic "targetRealRegSqueeze ArchAlpha"
+ ArchMipseb -> panic "targetRealRegSqueeze ArchMipseb"
+ ArchMipsel -> panic "targetRealRegSqueeze ArchMipsel"
++ ArchRISCV64 -> panic "targetRealRegSqueeze ArchRISCV64"
+ ArchJavaScript-> panic "targetRealRegSqueeze ArchJavaScript"
+ ArchUnknown -> panic "targetRealRegSqueeze ArchUnknown"
+
+@@ -88,6 +90,7 @@ targetClassOfRealReg platform
+ ArchAlpha -> panic "targetClassOfRealReg ArchAlpha"
+ ArchMipseb -> panic "targetClassOfRealReg ArchMipseb"
+ ArchMipsel -> panic "targetClassOfRealReg ArchMipsel"
++ ArchRISCV64 -> panic "targetClassOfRealReg ArchRISCV64"
+ ArchJavaScript-> panic "targetClassOfRealReg ArchJavaScript"
+ ArchUnknown -> panic "targetClassOfRealReg ArchUnknown"
+
+@@ -106,6 +109,7 @@ targetMkVirtualReg platform
+ ArchAlpha -> panic "targetMkVirtualReg ArchAlpha"
+ ArchMipseb -> panic "targetMkVirtualReg ArchMipseb"
+ ArchMipsel -> panic "targetMkVirtualReg ArchMipsel"
++ ArchRISCV64 -> panic "targetMkVirtualReg ArchRISCV64"
+ ArchJavaScript-> panic "targetMkVirtualReg ArchJavaScript"
+ ArchUnknown -> panic "targetMkVirtualReg ArchUnknown"
+
+@@ -124,6 +128,7 @@ targetRegDotColor platform
+ ArchAlpha -> panic "targetRegDotColor ArchAlpha"
+ ArchMipseb -> panic "targetRegDotColor ArchMipseb"
+ ArchMipsel -> panic "targetRegDotColor ArchMipsel"
++ ArchRISCV64 -> panic "targetRegDotColor ArchRISCV64"
+ ArchJavaScript-> panic "targetRegDotColor ArchJavaScript"
+ ArchUnknown -> panic "targetRegDotColor ArchUnknown"
+
+diff --git a/compiler/GHC/CmmToLlvm/Mangler.hs b/compiler/GHC/CmmToLlvm/Mangler.hs
+index 0436dbcf07..5c71655ab3 100644
+--- a/compiler/GHC/CmmToLlvm/Mangler.hs
++++ b/compiler/GHC/CmmToLlvm/Mangler.hs
+@@ -42,7 +42,7 @@ llvmFixupAsm dflags f1 f2 = {-# SCC "llvm_mangler" #-}
+
+ -- | These are the rewrites that the mangler will perform
+ rewrites :: [Rewrite]
+-rewrites = [rewriteSymType, rewriteAVX]
++rewrites = [rewriteSymType, rewriteAVX, rewriteCall]
+
+ type Rewrite = DynFlags -> B.ByteString -> Maybe B.ByteString
+
+@@ -106,6 +106,27 @@ rewriteAVX dflags s
+ isVmovdqa = B.isPrefixOf (B.pack "vmovdqa")
+ isVmovap = B.isPrefixOf (B.pack "vmovap")
+
++-- | This rewrites (tail) calls to avoid creating PLT entries for
++-- functions on riscv64. The replacement will load the address from the
++-- GOT, which is resolved to point to the real address of the function.
++rewriteCall :: Rewrite
++rewriteCall dflags l
++ | not isRISCV64 = Nothing
++ | isCall l = Just $ replaceCall "call" "jalr" "ra" l
++ | isTail l = Just $ replaceCall "tail" "jr" "t1" l
++ | otherwise = Nothing
++ where
++ isRISCV64 = platformArch (targetPlatform dflags) == ArchRISCV64
++ isCall = B.isPrefixOf (B.pack "call\t")
++ isTail = B.isPrefixOf (B.pack "tail\t")
++
++ replaceCall call jump reg l =
++ appendInsn (jump ++ "\t" ++ reg) $ removePlt $
++ replaceOnce (B.pack call) (B.pack ("la\t" ++ reg ++ ",")) l
++ where
++ removePlt = replaceOnce (B.pack "@plt") (B.pack "")
++ appendInsn i = (`B.append` B.pack ("\n\t" ++ i))
++
+ -- | @replaceOnce match replace bs@ replaces the first occurrence of the
+ -- substring @match@ in @bs@ with @replace@.
+ replaceOnce :: B.ByteString -> B.ByteString -> B.ByteString -> B.ByteString
+diff --git a/compiler/GHC/Driver/Pipeline.hs b/compiler/GHC/Driver/Pipeline.hs
+index 8edf49dfdd..d66404e916 100644
+--- a/compiler/GHC/Driver/Pipeline.hs
++++ b/compiler/GHC/Driver/Pipeline.hs
+@@ -936,6 +936,7 @@ llvmOptions dflags =
+ ++ [("", "-mcpu=" ++ mcpu) | not (null mcpu)
+ , not (any (isInfixOf "-mcpu") (getOpts dflags opt_lc)) ]
+ ++ [("", "-mattr=" ++ attrs) | not (null attrs) ]
++ ++ [("", "-target-abi=" ++ abi) | not (null abi) ]
+
+ where target = platformMisc_llvmTarget $ platformMisc dflags
+ Just (LlvmTarget _ mcpu mattr) = lookup target (llvmTargets $ llvmConfig dflags)
+@@ -965,6 +966,11 @@ llvmOptions dflags =
+ ++ ["+bmi" | isBmiEnabled dflags ]
+ ++ ["+bmi2" | isBmi2Enabled dflags ]
+
++ abi :: String
++ abi = case platformArch (targetPlatform dflags) of
++ ArchRISCV64 -> "lp64d"
++ _ -> ""
++
+ -- -----------------------------------------------------------------------------
+ -- | Each phase in the pipeline returns the next phase to execute, and the
+ -- name of the file in which the output was placed.
+diff --git a/compiler/GHC/Platform/RISCV64.hs b/compiler/GHC/Platform/RISCV64.hs
+new file mode 100644
+index 0000000000..289e2e27a8
+--- /dev/null
++++ b/compiler/GHC/Platform/RISCV64.hs
+@@ -0,0 +1,9 @@
++{-# LANGUAGE CPP #-}
++
++module GHC.Platform.RISCV64 where
++
++import GHC.Prelude
++
++#define MACHREGS_NO_REGS 0
++#define MACHREGS_riscv64 1
++#include "../../../includes/CodeGen.Platform.hs"
+diff --git a/compiler/GHC/Platform/Regs.hs b/compiler/GHC/Platform/Regs.hs
+index 1bf21370c7..e0bdf5d6e5 100644
+--- a/compiler/GHC/Platform/Regs.hs
++++ b/compiler/GHC/Platform/Regs.hs
+@@ -15,6 +15,7 @@ import qualified GHC.Platform.S390X as S390X
+ import qualified GHC.Platform.SPARC as SPARC
+ import qualified GHC.Platform.X86 as X86
+ import qualified GHC.Platform.X86_64 as X86_64
++import qualified GHC.Platform.RISCV64 as RISCV64
+ import qualified GHC.Platform.NoRegs as NoRegs
+
+ -- | Returns 'True' if this global register is stored in a caller-saves
+@@ -31,6 +32,7 @@ callerSaves platform
+ ArchSPARC -> SPARC.callerSaves
+ ArchARM {} -> ARM.callerSaves
+ ArchAArch64 -> AArch64.callerSaves
++ ArchRISCV64 -> RISCV64.callerSaves
+ arch
+ | arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
+ PPC.callerSaves
+@@ -53,6 +55,7 @@ activeStgRegs platform
+ ArchSPARC -> SPARC.activeStgRegs
+ ArchARM {} -> ARM.activeStgRegs
+ ArchAArch64 -> AArch64.activeStgRegs
++ ArchRISCV64 -> RISCV64.activeStgRegs
+ arch
+ | arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
+ PPC.activeStgRegs
+@@ -70,6 +73,7 @@ haveRegBase platform
+ ArchSPARC -> SPARC.haveRegBase
+ ArchARM {} -> ARM.haveRegBase
+ ArchAArch64 -> AArch64.haveRegBase
++ ArchRISCV64 -> RISCV64.haveRegBase
+ arch
+ | arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
+ PPC.haveRegBase
+@@ -87,6 +91,7 @@ globalRegMaybe platform
+ ArchSPARC -> SPARC.globalRegMaybe
+ ArchARM {} -> ARM.globalRegMaybe
+ ArchAArch64 -> AArch64.globalRegMaybe
++ ArchRISCV64 -> RISCV64.globalRegMaybe
+ arch
+ | arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
+ PPC.globalRegMaybe
+@@ -104,6 +109,7 @@ freeReg platform
+ ArchSPARC -> SPARC.freeReg
+ ArchARM {} -> ARM.freeReg
+ ArchAArch64 -> AArch64.freeReg
++ ArchRISCV64 -> RISCV64.freeReg
+ arch
+ | arch `elem` [ArchPPC, ArchPPC_64 ELF_V1, ArchPPC_64 ELF_V2] ->
+ PPC.freeReg
+diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in
+index de53f7f548..483a601602 100644
+--- a/compiler/ghc.cabal.in
++++ b/compiler/ghc.cabal.in
+@@ -261,6 +261,7 @@ Library
+ GHC.Platform.AArch64
+ GHC.Platform.NoRegs
+ GHC.Platform.PPC
++ GHC.Platform.RISCV64
+ GHC.Platform.S390X
+ GHC.Platform.SPARC
+ GHC.Platform.X86
+diff --git a/configure.ac b/configure.ac
+index 20911ae43f..b017d50bd6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -283,7 +283,7 @@ dnl --------------------------------------------------------------
+
+ AC_MSG_CHECKING(whether target supports a registerised ABI)
+ case "$TargetArch" in
+- i386|x86_64|powerpc|powerpc64|powerpc64le|s390x|arm|aarch64)
++ i386|x86_64|powerpc|powerpc64|powerpc64le|s390x|arm|aarch64|riscv64)
+ UnregisterisedDefault=NO
+ AC_MSG_RESULT([yes])
+ ;;
+@@ -318,7 +318,7 @@ AC_MSG_CHECKING(whether target supports tables next to code)
+ case "$Unregisterised" in
+ NO)
+ case "$TargetArch" in
+- ia64|powerpc64|powerpc64le|s390x)
++ ia64|powerpc64|powerpc64le|s390x|riscv64)
+ TablesNextToCodeDefault=NO
+ AC_MSG_RESULT([no])
+ ;;
+@@ -347,7 +347,7 @@ AC_SUBST(TablesNextToCode)
+ dnl ** Does target have runtime linker support?
+ dnl --------------------------------------------------------------
+ case "$target" in
+- powerpc64-*|powerpc64le-*|powerpc-ibm-aix*|s390x-ibm-linux)
++ powerpc64-*|powerpc64le-*|powerpc-ibm-aix*|s390x-ibm-linux|riscv64-*)
+ TargetHasRTSLinker=NO
+ ;;
+ *)
+diff --git a/includes/CodeGen.Platform.hs b/includes/CodeGen.Platform.hs
+index b00acfa38a..8c942662e6 100644
+--- a/includes/CodeGen.Platform.hs
++++ b/includes/CodeGen.Platform.hs
+@@ -380,6 +380,74 @@ import GHC.Platform.Reg
+ # define f14 30
+ # define f15 31
+
++#elif defined(MACHREGS_riscv64)
++
++# define zero 0
++# define ra 1
++# define sp 2
++# define gp 3
++# define tp 4
++# define t0 5
++# define t1 6
++# define t2 7
++# define s0 8
++# define s1 9
++# define a0 10
++# define a1 11
++# define a2 12
++# define a3 13
++# define a4 14
++# define a5 15
++# define a6 16
++# define a7 17
++# define s2 18
++# define s3 19
++# define s4 20
++# define s5 21
++# define s6 22
++# define s7 23
++# define s8 24
++# define s9 25
++# define s10 26
++# define s11 27
++# define t3 28
++# define t4 29
++# define t5 30
++# define t6 31
++
++# define ft0 32
++# define ft1 33
++# define ft2 34
++# define ft3 35
++# define ft4 36
++# define ft5 37
++# define ft6 38
++# define ft7 39
++# define fs0 40
++# define fs1 41
++# define fa0 42
++# define fa1 43
++# define fa2 44
++# define fa3 45
++# define fa4 46
++# define fa5 47
++# define fa6 48
++# define fa7 49
++# define fs2 50
++# define fs3 51
++# define fs4 52
++# define fs5 53
++# define fs6 54
++# define fs7 55
++# define fs8 56
++# define fs9 57
++# define fs10 58
++# define fs11 59
++# define ft8 60
++# define ft9 61
++# define ft10 62
++# define ft11 63
++
+ #endif
+
+ callerSaves :: GlobalReg -> Bool
+@@ -667,7 +735,7 @@ globalRegMaybe :: GlobalReg -> Maybe RealReg
+ #if defined(MACHREGS_i386) || defined(MACHREGS_x86_64) \
+ || defined(MACHREGS_sparc) || defined(MACHREGS_powerpc) \
+ || defined(MACHREGS_arm) || defined(MACHREGS_aarch64) \
+- || defined(MACHREGS_s390x)
++ || defined(MACHREGS_s390x) || defined(MACHREGS_riscv64)
+ # if defined(REG_Base)
+ globalRegMaybe BaseReg = Just (RealRegSingle REG_Base)
+ # endif
+diff --git a/includes/stg/MachRegs.h b/includes/stg/MachRegs.h
+index be7b7d60b4..1a9012e7ef 100644
+--- a/includes/stg/MachRegs.h
++++ b/includes/stg/MachRegs.h
+@@ -663,6 +663,68 @@ the stack. See Note [Overlapping global registers] for implications.
+ #define CALLER_SAVES_D5
+ #define CALLER_SAVES_D6
+
++/* -----------------------------------------------------------------------------
++ The riscv64 register mapping
++
++ Register | Role(s) | Call effect
++ ------------+-----------------------------------------+-------------
++ zero | Hard-wired zero | -
++ ra | Return address | caller-saved
++ sp | Stack pointer | callee-saved
++ gp | Global pointer | callee-saved
++ tp | Thread pointer | callee-saved
++ t0,t1,t2 | - | caller-saved
++ s0 | Frame pointer | callee-saved
++ s1 | - | callee-saved
++ a0,a1 | Arguments / return values | caller-saved
++ a2..a7 | Arguments | caller-saved
++ s2..s11 | - | callee-saved
++ t3..t6 | - | caller-saved
++ ft0..ft7 | - | caller-saved
++ fs0,fs1 | - | callee-saved
++ fa0,fa1 | Arguments / return values | caller-saved
++ fa2..fa7 | Arguments | caller-saved
++ fs2..fs11 | - | callee-saved
++ ft8..ft11 | - | caller-saved
++
++ Each general purpose register as well as each floating-point
++ register is 64 bits wide.
++
++ -------------------------------------------------------------------------- */
++
++#elif defined(MACHREGS_riscv64)
++
++#define REG(x) __asm__(#x)
++
++#define REG_Base s1
++#define REG_Sp s2
++#define REG_Hp s3
++#define REG_R1 s4
++#define REG_R2 s5
++#define REG_R3 s6
++#define REG_R4 s7
++#define REG_R5 s8
++#define REG_R6 s9
++#define REG_R7 s10
++#define REG_SpLim s11
++
++#define REG_F1 fs0
++#define REG_F2 fs1
++#define REG_F3 fs2
++#define REG_F4 fs3
++#define REG_F5 fs4
++#define REG_F6 fs5
++
++#define REG_D1 fs6
++#define REG_D2 fs7
++#define REG_D3 fs8
++#define REG_D4 fs9
++#define REG_D5 fs10
++#define REG_D6 fs11
++
++#define MAX_REAL_FLOAT_REG 6
++#define MAX_REAL_DOUBLE_REG 6
++
+ #else
+
+ #error Cannot find platform to give register info for
+diff --git a/includes/stg/MachRegsForHost.h b/includes/stg/MachRegsForHost.h
+index 3597b2be90..e902d528f6 100644
+--- a/includes/stg/MachRegsForHost.h
++++ b/includes/stg/MachRegsForHost.h
+@@ -71,6 +71,10 @@
+ #define MACHREGS_s390x 1
+ #endif
+
++#if defined(riscv64_HOST_ARCH)
++#define MACHREGS_riscv64 1
++#endif
++
+ #endif
+
+ #include "MachRegs.h"
+diff --git a/includes/stg/SMP.h b/includes/stg/SMP.h
+index 389dd95c88..f12fd3f71b 100644
+--- a/includes/stg/SMP.h
++++ b/includes/stg/SMP.h
+@@ -377,6 +377,8 @@ write_barrier(void) {
+ __asm__ __volatile__ ("" : : : "memory");
+ #elif defined(arm_HOST_ARCH) || defined(aarch64_HOST_ARCH)
+ __asm__ __volatile__ ("dmb st" : : : "memory");
++#elif defined(riscv64_HOST_ARCH)
++ __asm__ __volatile__ ("fence w,w" : : : "memory");
+ #else
+ #error memory barriers unimplemented on this architecture
+ #endif
+@@ -401,6 +403,8 @@ store_load_barrier(void) {
+ __asm__ __volatile__ ("dmb" : : : "memory");
+ #elif defined(aarch64_HOST_ARCH)
+ __asm__ __volatile__ ("dmb sy" : : : "memory");
++#elif defined(riscv64_HOST_ARCH)
++ __asm__ __volatile__ ("fence w,r" : : : "memory");
+ #else
+ #error memory barriers unimplemented on this architecture
+ #endif
+@@ -426,6 +430,8 @@ load_load_barrier(void) {
+ __asm__ __volatile__ ("dmb" : : : "memory");
+ #elif defined(aarch64_HOST_ARCH)
+ __asm__ __volatile__ ("dmb sy" : : : "memory");
++#elif defined(riscv64_HOST_ARCH)
++ __asm__ __volatile__ ("fence w,r" : : : "memory");
+ #else
+ #error memory barriers unimplemented on this architecture
+ #endif
+diff --git a/libraries/ghc-boot/GHC/Platform.hs b/libraries/ghc-boot/GHC/Platform.hs
+index 186f8c8af6..44d2c68c0a 100644
+--- a/libraries/ghc-boot/GHC/Platform.hs
++++ b/libraries/ghc-boot/GHC/Platform.hs
+@@ -130,6 +130,7 @@ data Arch
+ | ArchAlpha
+ | ArchMipseb
+ | ArchMipsel
++ | ArchRISCV64
+ | ArchJavaScript
+ deriving (Read, Show, Eq)
+
+@@ -171,6 +172,7 @@ stringEncodeArch = \case
+ ArchAlpha -> "alpha"
+ ArchMipseb -> "mipseb"
+ ArchMipsel -> "mipsel"
++ ArchRISCV64 -> "riscv64"
+ ArchJavaScript -> "js"
+
+ isARM :: Arch -> Bool
+@@ -338,6 +340,7 @@ platformCConvNeedsExtension :: Platform -> Bool
+ platformCConvNeedsExtension platform = case platformArch platform of
+ ArchPPC_64 _ -> True
+ ArchS390X -> True
++ ArchRISCV64 -> True
+ _ -> False
+
+
+diff --git a/libraries/ghci/GHCi/InfoTable.hsc b/libraries/ghci/GHCi/InfoTable.hsc
+index ad4eb4d6a8..1d1f8cd074 100644
+--- a/libraries/ghci/GHCi/InfoTable.hsc
++++ b/libraries/ghci/GHCi/InfoTable.hsc
+@@ -73,6 +73,7 @@ data Arch = ArchSPARC
+ | ArchPPC64
+ | ArchPPC64LE
+ | ArchS390X
++ | ArchRISCV64
+ deriving Show
+
+ mkJumpToAddr :: MonadFail m => EntryFunPtr-> m ItblCodes
+@@ -109,6 +110,8 @@ mArch =
+ Just ArchPPC64LE
+ #elif defined(s390x_HOST_ARCH)
+ Just ArchS390X
++#elif defined(riscv64_HOST_ARCH)
++ Just ArchRISCV64
+ #else
+ Nothing
+ #endif
+@@ -288,6 +291,15 @@ mkJumpToAddr' platform a = case platform of
+ 0xC0, 0x19, byte3 w64, byte2 w64, byte1 w64, byte0 w64,
+ 0x07, 0xF1 ]
+
++ ArchRISCV64 ->
++ let w64 = fromIntegral (funPtrToInt a) :: Word64
++ in Right [ 0x00000297 -- auipc t0,0
++ , 0x01053283 -- ld t0,16(t0)
++ , 0x00028067 -- jr t0
++ , 0x00000013 -- nop
++ , fromIntegral w64
++ , fromIntegral (w64 `shiftR` 32) ]
++
+ byte0 :: (Integral w) => w -> Word8
+ byte0 w = fromIntegral w
+
+diff --git a/llvm-targets b/llvm-targets
+index c328b2e001..0f809b2418 100644
+--- a/llvm-targets
++++ b/llvm-targets
+@@ -38,6 +38,8 @@
+ ,("powerpc64le-unknown-linux-musl", ("e-m:e-i64:64-n32:64", "ppc64le", "+secure-plt"))
+ ,("powerpc64le-unknown-linux", ("e-m:e-i64:64-n32:64", "ppc64le", ""))
+ ,("s390x-ibm-linux", ("E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64", "z10", ""))
++,("riscv64-unknown-linux-gnu", ("e-m:e-p:64:64-i64:64-i128:128-n64-S128", "", "+m +a +f +d +c +relax"))
++,("riscv64-unknown-linux", ("e-m:e-p:64:64-i64:64-i128:128-n64-S128", "", "+m +a +f +d +c +relax"))
+ ,("i386-apple-darwin", ("e-m:o-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:128-n8:16:32-S128", "penryn", ""))
+ ,("x86_64-apple-darwin", ("e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128", "penryn", ""))
+ ,("arm64-apple-darwin", ("e-m:o-i64:64-i128:128-n32:64-S128", "apple-a12", "+v8.3a +fp-armv8 +neon +crc +crypto +fullfp16 +ras +lse +rdm +rcpc +zcm +zcz +sha2 +aes"))
+diff --git a/m4/fptools.m4 b/m4/fptools.m4
+index 8c6c9b7062..7dbe53d3b4 100644
+--- a/m4/fptools.m4
++++ b/m4/fptools.m4
+@@ -231,7 +231,10 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_VARS],
+ mipsel)
+ test -z "[$]2" || eval "[$]2=ArchMipsel"
+ ;;
+- hppa|hppa1_1|ia64|m68k|nios2|riscv32|riscv64|rs6000|s390|sh4|vax)
++ riscv64)
++ test -z "[$]2" || eval "[$]2=ArchRISCV64"
++ ;;
++ hppa|hppa1_1|ia64|m68k|nios2|riscv32|rs6000|s390|sh4|vax)
+ test -z "[$]2" || eval "[$]2=ArchUnknown"
+ ;;
+ *)
+diff --git a/mk/config.mk.in b/mk/config.mk.in
+index 48b8e23145..e260730991 100644
+--- a/mk/config.mk.in
++++ b/mk/config.mk.in
+@@ -179,7 +179,7 @@ ifeq "$(TargetArch_CPP)" "arm"
+ # We don't support load/store barriers pre-ARMv7. See #10433.
+ ArchSupportsSMP=$(if $(filter $(ARM_ISA),ARMv5 ARMv6),NO,YES)
+ else
+-ArchSupportsSMP=$(strip $(patsubst $(TargetArch_CPP), YES, $(findstring $(TargetArch_CPP), i386 x86_64 sparc powerpc powerpc64 powerpc64le s390x aarch64)))
++ArchSupportsSMP=$(strip $(patsubst $(TargetArch_CPP), YES, $(findstring $(TargetArch_CPP), i386 x86_64 sparc powerpc powerpc64 powerpc64le s390x aarch64 riscv64)))
+ endif
+
+ # The THREADED_RTS requires `BaseReg` to be in a register and the
+diff --git a/rts/StgCRunAsm.S b/rts/StgCRunAsm.S
+index 60f1bf9a13..16b125a7e8 100644
+--- a/rts/StgCRunAsm.S
++++ b/rts/StgCRunAsm.S
+@@ -232,6 +232,150 @@ StgReturn:
+ .size StgReturn, .-StgReturn
+
+ .section .note.GNU-stack,"",@progbits
++
++#elif defined(riscv64_HOST_ARCH)
++# define STACK_FRAME_SIZE (RESERVED_C_STACK_BYTES+208)
++ .text
++ .align 1
++ .globl StgRun
++ .type StgRun, @function
++StgRun:
++ .cfi_startproc
++ addi sp,sp,-208
++ .cfi_def_cfa_offset 208
++ /* save callee-saved registers */
++ sd ra,200(sp)
++ sd s0,192(sp)
++ sd s1,184(sp)
++ sd s2,176(sp)
++ sd s3,168(sp)
++ sd s4,160(sp)
++ sd s5,152(sp)
++ sd s6,144(sp)
++ sd s7,136(sp)
++ sd s8,128(sp)
++ sd s9,120(sp)
++ sd s10,112(sp)
++ sd s11,104(sp)
++ fsd fs0,88(sp)
++ fsd fs1,80(sp)
++ fsd fs2,72(sp)
++ fsd fs3,64(sp)
++ fsd fs4,56(sp)
++ fsd fs5,48(sp)
++ fsd fs6,40(sp)
++ fsd fs7,32(sp)
++ fsd fs8,24(sp)
++ fsd fs9,16(sp)
++ fsd fs10,8(sp)
++ fsd fs11,0(sp)
++ /* allocate stack frame */
++ li t0,RESERVED_C_STACK_BYTES
++ sub sp,sp,t0
++ .cfi_def_cfa_offset STACK_FRAME_SIZE
++ .cfi_offset 1, -8
++ .cfi_offset 8, -16
++ .cfi_offset 9, -24
++ .cfi_offset 18, -32
++ .cfi_offset 19, -40
++ .cfi_offset 20, -48
++ .cfi_offset 21, -56
++ .cfi_offset 22, -64
++ .cfi_offset 23, -72
++ .cfi_offset 24, -80
++ .cfi_offset 25, -88
++ .cfi_offset 26, -96
++ .cfi_offset 27, -104
++ .cfi_offset 40, -120
++ .cfi_offset 41, -128
++ .cfi_offset 50, -136
++ .cfi_offset 51, -144
++ .cfi_offset 52, -152
++ .cfi_offset 53, -160
++ .cfi_offset 54, -168
++ .cfi_offset 55, -176
++ .cfi_offset 56, -184
++ .cfi_offset 57, -192
++ .cfi_offset 58, -200
++ .cfi_offset 59, -208
++ /* set STGs BaseReg from RISCV a1 */
++ mv s1,a1
++ /* jump to STG function */
++ jr a0
++ .cfi_endproc
++ .size StgRun, .-StgRun
++
++ .text
++ .align 1
++ .globl StgReturn
++ .type StgReturn, @function
++StgReturn:
++ .cfi_startproc
++ /* set return value from STGs R1 (RISCV s4) */
++ mv a0,s4
++ /* deallocate stack frame */
++ li t0,RESERVED_C_STACK_BYTES
++ add sp,sp,t0
++ .cfi_def_cfa_offset 208
++ /* restore callee-saved registers */
++ ld ra,200(sp)
++ .cfi_restore 1
++ ld s0,192(sp)
++ .cfi_restore 8
++ ld s1,184(sp)
++ .cfi_restore 9
++ ld s2,176(sp)
++ .cfi_restore 18
++ ld s3,168(sp)
++ .cfi_restore 19
++ ld s4,160(sp)
++ .cfi_restore 20
++ ld s5,152(sp)
++ .cfi_restore 21
++ ld s6,144(sp)
++ .cfi_restore 22
++ ld s7,136(sp)
++ .cfi_restore 23
++ ld s8,128(sp)
++ .cfi_restore 24
++ ld s9,120(sp)
++ .cfi_restore 25
++ ld s10,112(sp)
++ .cfi_restore 26
++ ld s11,104(sp)
++ .cfi_restore 27
++ fld fs0,88(sp)
++ .cfi_restore 40
++ fld fs1,80(sp)
++ .cfi_restore 41
++ fld fs2,72(sp)
++ .cfi_restore 50
++ fld fs3,64(sp)
++ .cfi_restore 51
++ fld fs4,56(sp)
++ .cfi_restore 52
++ fld fs5,48(sp)
++ .cfi_restore 53
++ fld fs6,40(sp)
++ .cfi_restore 54
++ fld fs7,32(sp)
++ .cfi_restore 55
++ fld fs8,24(sp)
++ .cfi_restore 56
++ fld fs9,16(sp)
++ .cfi_restore 57
++ fld fs10,8(sp)
++ .cfi_restore 58
++ fld fs11,0(sp)
++ .cfi_restore 59
++ addi sp,sp,208
++ .cfi_def_cfa_offset 0
++ /* jump back to caller of StgRun() */
++ ret
++ .cfi_endproc
++ .size StgReturn, .-StgReturn
++
++ .section .note.GNU-stack,"",@progbits
+ #endif
+
+ #endif /* !USE_MINIINTERPRETER */
+diff --git a/rts/linker/Elf.c b/rts/linker/Elf.c
+index 1da69d03fa..0aa1c8dd3f 100644
+--- a/rts/linker/Elf.c
++++ b/rts/linker/Elf.c
+@@ -412,6 +412,12 @@ ocVerifyImage_ELF ( ObjectCode* oc )
+ #endif
+ #if defined(EM_AARCH64)
+ case EM_AARCH64: IF_DEBUG(linker,debugBelch( "aarch64" )); break;
++#endif
++#if defined(EM_RISCV)
++ case EM_RISCV: IF_DEBUG(linker,debugBelch( "riscv" ));
++ errorBelch("%s: RTS linker not implemented on riscv",
++ oc->fileName);
++ return 0;
+ #endif
+ default: IF_DEBUG(linker,debugBelch( "unknown" ));
+ errorBelch("%s: unknown architecture (e_machine == %d)"
+diff --git a/utils/genapply/Main.hs b/utils/genapply/Main.hs
+index a6d944efa4..a5697b427f 100644
+--- a/utils/genapply/Main.hs
++++ b/utils/genapply/Main.hs
+@@ -17,6 +17,8 @@ module Main(main) where
+ -- We improperly include *HOST* macros for our target...
+ #include "../../includes/ghcconfig.h"
+
++#undef UnregisterisedCompiler
++
+ -- ...so that this header defines the right stuff. It is the RTS's host, but
+ -- our target, as we are generating code that uses that RTS.
+ #include "../../includes/stg/MachRegsForHost.h"
+diff --git a/utils/llvm-targets/gen-data-layout.sh b/utils/llvm-targets/gen-data-layout.sh
+index 32032cb97e..092e0892e5 100755
+--- a/utils/llvm-targets/gen-data-layout.sh
++++ b/utils/llvm-targets/gen-data-layout.sh
+@@ -76,6 +76,9 @@ TARGETS=(
+ "powerpc64le-unknown-linux"
+ # Linux s390x
+ "s390x-ibm-linux"
++ # Linux riscv64
++ "riscv64-unknown-linux-gnu"
++ "riscv64-unknown-linux"
+
+ #########################
+ # Darwin
diff --git a/dev-lang/ghc/files/latomic-subword b/dev-lang/ghc/files/latomic-subword
new file mode 100644
index 000000000000..2dbb382ab47e
--- /dev/null
+++ b/dev-lang/ghc/files/latomic-subword
@@ -0,0 +1,87 @@
+https://salsa.debian.org/haskell-team/DHG_packages/-/blob/master/p/ghc/debian/patches/latomic-subword
+
+commit 90f06a0e015e18c066fe1569fb2add318bec72ca
+Author: Haochen Tong <i@hexchain.org>
+Date: Mon Oct 11 11:40:56 2021 +0800
+
+ Check for libatomic dependency for atomic operations
+
+ Some platforms (e.g. RISC-V) require linking against libatomic for some
+ (e.g. sub-word-sized) atomic operations.
+
+ Fixes #19119.
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -1286,6 +1286,32 @@ AC_LINK_IFELSE([
+ AC_MSG_RESULT(no)
+ )
+
++AC_MSG_CHECKING(whether -latomic is needed for sub-word-sized atomic operations)
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[unsigned char a;]], [[__atomic_fetch_or(&a, 1, __ATOMIC_RELAXED);]])],
++ [
++ AC_MSG_RESULT(no)
++ AC_SUBST([CabalNeedLibatomic],[False])
++ need_latomic=0
++ ],
++ [
++ _save_LIBS=$LIBS
++ LIBS="-latomic"
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[unsigned char a;]], [[__atomic_fetch_or(&a, 1, __ATOMIC_RELAXED);]])],
++ [
++ AC_MSG_RESULT(yes)
++ AC_SUBST([CabalNeedLibatomic],[True])
++ need_latomic=1
++ ],
++ [
++ AC_SUBST([CabalNeedLibatomic],[False])
++ AC_MSG_ERROR([sub-word-sized atomic operations not available.])
++ need_latomic=0
++ ])
++ LIBS=$_save_LIBS
++ ])
++AC_DEFINE_UNQUOTED([NEED_ATOMIC_LIB], [$need_latomic],
++ [Define to 1 if we need -latomic for sub-word atomic operations.])
++
+ dnl ** check for eventfd which is needed by the I/O manager
+ AC_CHECK_HEADERS([sys/eventfd.h])
+ AC_CHECK_FUNCS([eventfd])
+Index: b/rts/package.conf.in
+===================================================================
+--- a/rts/package.conf.in
++++ b/rts/package.conf.in
+@@ -63,6 +63,9 @@ extra-libraries:
+ , "elf"
+ , "dw" /* for backtraces */
+ #endif
++#if NEED_ATOMIC_LIB
++ , "atomic"
++#endif
+
+ #if defined(INSTALLING)
+ include-dirs: INCLUDE_DIR FFI_INCLUDE_DIR
+Index: b/rts/rts.cabal.in
+===================================================================
+--- a/rts/rts.cabal.in
++++ b/rts/rts.cabal.in
+@@ -20,6 +20,8 @@ flag libbfd
+ default: @CabalHaveLibbfd@
+ flag mingwex
+ default: @CabalMingwex@
++flag need-atomic
++ default: @CabalNeedLibatomic@
+ flag libdw
+ default: @CabalHaveLibdw@
+ flag libnuma
+@@ -126,6 +128,9 @@ library
+ if flag(need-pthread)
+ -- for pthread_getthreadid_np, pthread_create, ...
+ extra-libraries: pthread
++ if flag(need-atomic)
++ -- for sub-word-sized atomic operations (#19119)
++ extra-libraries: atomic
+ if flag(libbfd)
+ -- for debugging
+ extra-libraries: bfd iberty
diff --git a/dev-lang/ghc/ghc-9.0.2.ebuild b/dev-lang/ghc/ghc-9.0.2.ebuild
index dc0d530b0785..47d7344fd4de 100644
--- a/dev-lang/ghc/ghc-9.0.2.ebuild
+++ b/dev-lang/ghc/ghc-9.0.2.ebuild
@@ -36,6 +36,7 @@ arch_binaries="$arch_binaries ppc64? (
big-endian? ( https://github.com/matoro/ghc/releases/download/${PV}/ghc-bin-${PV}-powerpc64-unknown-linux-gnu.tar.gz )
!big-endian? ( https://github.com/matoro/ghc/releases/download/${PV}/ghc-bin-${PV}-powerpc64le-unknown-linux-gnu.tar.gz )
)"
+arch_binaries="$arch_binaries riscv? ( https://github.com/matoro/ghc/releases/download/${PV}/ghc-bin-${PV}-riscv64-unknown-linux-gnu.tar.gz )"
#arch_binaries="$arch_binaries sparc? ( https://slyfox.uni.cx/~slyfox/distfiles/ghc-bin-${PV}-sparc.tbz2 )"
arch_binaries="$arch_binaries x86? ( https://eidetic.codes/ghc-bin-${PV}-i686-pc-linux-gnu.tbz2 )"
@@ -52,6 +53,7 @@ yet_binary() {
#ia64) return 0 ;;
#ppc) return 0 ;;
ppc64) return 0 ;;
+ riscv) return 0 ;;
#sparc) return 0 ;;
x86) return 0 ;;
*) return 1 ;;
@@ -76,8 +78,8 @@ BUMP_LIBRARIES=(
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE="big-endian +doc elfutils ghcbootstrap ghcmakebinary +gmp llvm numa profile test"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="big-endian +doc elfutils ghcbootstrap ghcmakebinary +gmp llvm numa profile test unregisterised"
IUSE+=" binary"
RESTRICT="!test? ( test )"
@@ -135,6 +137,7 @@ needs_python() {
REQUIRED_USE="
?? ( ghcbootstrap binary )
?? ( profile binary )
+ ?? ( llvm unregisterised )
"
# haskell libraries built with cabal in configure mode, #515354
@@ -438,7 +441,7 @@ src_prepare() {
pax-mark -m "${WORKDIR}/usr/$(get_libdir)/${PN}-${BIN_PV}/bin/ghc"
fi
- use llvm && llvmize "${WORKDIR}/usr/bin"
+ use llvm && ! use ghcbootstrap && llvmize "${WORKDIR}/usr/bin"
# binpkg may have been built with FEATURES=splitdebug
if [[ -d "${WORKDIR}/usr/lib/debug" ]] ; then
@@ -535,6 +538,8 @@ src_prepare() {
eapply "${FILESDIR}"/${PN}-8.10.1-allow-cross-bootstrap.patch
eapply "${FILESDIR}"/${PN}-9.0.2-disable-unboxed-arrays.patch
eapply "${FILESDIR}"/${PN}-9.0.2-llvm-13.patch
+ eapply "${FILESDIR}"/latomic-subword
+ eapply "${FILESDIR}"/${PN}-9.0.2-riscv64-llvm.patch
# mingw32 target
pushd "${S}/libraries/Win32"
@@ -683,7 +688,7 @@ src_configure() {
--enable-bootstrap-with-devel-snapshot \
$(use_enable elfutils dwarf-unwind) \
$(use_enable numa) \
- --disable-unregisterised # all targets are registerised for now
+ $(use_enable unregisterised)
if [[ ${PV} == *9999* ]]; then
GHC_PV="$(grep 'S\[\"PACKAGE_VERSION\"\]' config.status | sed -e 's@^.*=\"\(.*\)\"@\1@')"
diff --git a/dev-lang/ghc/metadata.xml b/dev-lang/ghc/metadata.xml
index 8e188c0a7af4..45f221d2455f 100644
--- a/dev-lang/ghc/metadata.xml
+++ b/dev-lang/ghc/metadata.xml
@@ -13,6 +13,7 @@
<flag name="gmp">Use <pkg>dev-libs/gmp</pkg> for integer operations (works faster, but an external depend).</flag>
<flag name="llvm">Pull in dependencies for the <pkg>sys-devel/llvm</pkg> codegen backend.</flag>
<flag name="numa">Enable NUMA thread balancing policy using <pkg>sys-process/numactl</pkg>.</flag>
+ <flag name="unregisterised">Create an unregisterised build in which only the C codegen backend will be available.</flag>
</use>
<upstream>
<remote-id type="github">ghc/ghc</remote-id>
diff --git a/dev-perl/CGI-FormBuilder/CGI-FormBuilder-3.100.0-r1.ebuild b/dev-perl/CGI-FormBuilder/CGI-FormBuilder-3.100.0-r1.ebuild
index e302dd2d51e2..7f971495027b 100644
--- a/dev-perl/CGI-FormBuilder/CGI-FormBuilder-3.100.0-r1.ebuild
+++ b/dev-perl/CGI-FormBuilder/CGI-FormBuilder-3.100.0-r1.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="http://www.formbuilder.org/ https://metacpan.org/release/CGI-FormBuild
# Explicit declaration by upstream
LICENSE="|| ( Artistic GPL-1 )"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-perl/CGI-Session/CGI-Session-4.480.0-r3.ebuild b/dev-perl/CGI-Session/CGI-Session-4.480.0-r3.ebuild
index d9c810a4b3b9..2545047682f3 100644
--- a/dev-perl/CGI-Session/CGI-Session-4.480.0-r3.ebuild
+++ b/dev-perl/CGI-Session/CGI-Session-4.480.0-r3.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="persistent session data in CGI applications"
# Bug: https://bugs.gentoo.org/show_bug.cgi?id=721398
LICENSE="Artistic"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 x86"
+KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-perl/CGI-Simple/CGI-Simple-1.250.0.ebuild b/dev-perl/CGI-Simple/CGI-Simple-1.250.0.ebuild
index 659986004bfd..8b087416cb83 100644
--- a/dev-perl/CGI-Simple/CGI-Simple-1.250.0.ebuild
+++ b/dev-perl/CGI-Simple/CGI-Simple-1.250.0.ebuild
@@ -11,7 +11,7 @@ DESCRIPTION="A Simple totally OO CGI interface that is CGI.pm compliant"
# Bug: https://bugs.gentoo.org/721422
LICENSE="Artistic"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-perl/Class-ErrorHandler/Class-ErrorHandler-0.40.0-r1.ebuild b/dev-perl/Class-ErrorHandler/Class-ErrorHandler-0.40.0-r1.ebuild
index 400d002decac..dbef3f62bd53 100644
--- a/dev-perl/Class-ErrorHandler/Class-ErrorHandler-0.40.0-r1.ebuild
+++ b/dev-perl/Class-ErrorHandler/Class-ErrorHandler-0.40.0-r1.ebuild
@@ -10,4 +10,4 @@ inherit perl-module
DESCRIPTION="Automated accessor generation"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
diff --git a/dev-perl/Crypt-DH-GMP/Crypt-DH-GMP-0.0.120-r1.ebuild b/dev-perl/Crypt-DH-GMP/Crypt-DH-GMP-0.0.120-r1.ebuild
index 3b2c40c08350..6fd1f9640da5 100644
--- a/dev-perl/Crypt-DH-GMP/Crypt-DH-GMP-0.0.120-r1.ebuild
+++ b/dev-perl/Crypt-DH-GMP/Crypt-DH-GMP-0.0.120-r1.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Crypt::DH Using GMP Directly"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-perl/Feed-Find/Feed-Find-0.120.0.ebuild b/dev-perl/Feed-Find/Feed-Find-0.120.0.ebuild
index d2b46b57e0c6..2c3497206aaf 100644
--- a/dev-perl/Feed-Find/Feed-Find-0.120.0.ebuild
+++ b/dev-perl/Feed-Find/Feed-Find-0.120.0.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Syndication feed auto-discovery"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
dev-perl/Class-ErrorHandler
diff --git a/dev-perl/File-ReadBackwards/File-ReadBackwards-1.60.0.ebuild b/dev-perl/File-ReadBackwards/File-ReadBackwards-1.60.0.ebuild
index 34e4c745ca44..17bc441c1b1e 100644
--- a/dev-perl/File-ReadBackwards/File-ReadBackwards-1.60.0.ebuild
+++ b/dev-perl/File-ReadBackwards/File-ReadBackwards-1.60.0.ebuild
@@ -10,4 +10,4 @@ inherit perl-module
DESCRIPTION="Read a file backwards by lines"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ~ppc ppc64 sparc x86 ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv sparc x86 ~x86-solaris"
diff --git a/dev-perl/HTML-LinkExtractor/HTML-LinkExtractor-0.130.0-r3.ebuild b/dev-perl/HTML-LinkExtractor/HTML-LinkExtractor-0.130.0-r3.ebuild
index 634955dd9d59..750c8d812622 100644
--- a/dev-perl/HTML-LinkExtractor/HTML-LinkExtractor-0.130.0-r3.ebuild
+++ b/dev-perl/HTML-LinkExtractor/HTML-LinkExtractor-0.130.0-r3.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="A bare-bone HTML parser, similar to HTML::Parser"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="amd64 ~arm64 ~ia64 ppc ppc64 ~riscv sparc x86"
RDEPEND="
dev-perl/HTML-Parser
diff --git a/dev-perl/HTML-Scrubber/HTML-Scrubber-0.190.0.ebuild b/dev-perl/HTML-Scrubber/HTML-Scrubber-0.190.0.ebuild
index cab1d0c64332..b8116ea59f7b 100644
--- a/dev-perl/HTML-Scrubber/HTML-Scrubber-0.190.0.ebuild
+++ b/dev-perl/HTML-Scrubber/HTML-Scrubber-0.190.0.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Perl extension for scrubbing/sanitizing html"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ppc ppc64 x86"
+KEYWORDS="amd64 ~arm64 ppc ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-perl/LWP-Authen-Wsse/LWP-Authen-Wsse-0.50.0-r2.ebuild b/dev-perl/LWP-Authen-Wsse/LWP-Authen-Wsse-0.50.0-r2.ebuild
index dadc5faa55a5..a04b798be2fc 100644
--- a/dev-perl/LWP-Authen-Wsse/LWP-Authen-Wsse-0.50.0-r2.ebuild
+++ b/dev-perl/LWP-Authen-Wsse/LWP-Authen-Wsse-0.50.0-r2.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Library for enabling X-WSSE authentication in LWP"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
RDEPEND="
virtual/perl-MIME-Base64
diff --git a/dev-perl/LWPx-ParanoidAgent/LWPx-ParanoidAgent-1.120.0-r1.ebuild b/dev-perl/LWPx-ParanoidAgent/LWPx-ParanoidAgent-1.120.0-r1.ebuild
index 847044ebd5d8..3e9af4412e04 100644
--- a/dev-perl/LWPx-ParanoidAgent/LWPx-ParanoidAgent-1.120.0-r1.ebuild
+++ b/dev-perl/LWPx-ParanoidAgent/LWPx-ParanoidAgent-1.120.0-r1.ebuild
@@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="Subclass of LWP::UserAgent that protects you from harm"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
dev-perl/libwww-perl
diff --git a/dev-perl/Mail-Sendmail/Mail-Sendmail-0.800.0-r1.ebuild b/dev-perl/Mail-Sendmail/Mail-Sendmail-0.800.0-r1.ebuild
index 1921f1776535..49d3f7237da0 100644
--- a/dev-perl/Mail-Sendmail/Mail-Sendmail-0.800.0-r1.ebuild
+++ b/dev-perl/Mail-Sendmail/Mail-Sendmail-0.800.0-r1.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Simple platform independent mailer"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
RDEPEND="
virtual/perl-Digest-MD5
diff --git a/dev-perl/Net-OpenID-Common/Net-OpenID-Common-1.200.0-r1.ebuild b/dev-perl/Net-OpenID-Common/Net-OpenID-Common-1.200.0-r1.ebuild
index 14f4e6f16dbb..86d2107a843b 100644
--- a/dev-perl/Net-OpenID-Common/Net-OpenID-Common-1.200.0-r1.ebuild
+++ b/dev-perl/Net-OpenID-Common/Net-OpenID-Common-1.200.0-r1.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Libraries shared between Net::OpenID::Consumer and Net::OpenID::Server"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
>=dev-perl/Crypt-DH-GMP-0.0.110
diff --git a/dev-perl/Net-OpenID-Consumer/Net-OpenID-Consumer-1.180.0-r1.ebuild b/dev-perl/Net-OpenID-Consumer/Net-OpenID-Consumer-1.180.0-r1.ebuild
index 0d68ac76e3a6..118206a29315 100644
--- a/dev-perl/Net-OpenID-Consumer/Net-OpenID-Consumer-1.180.0-r1.ebuild
+++ b/dev-perl/Net-OpenID-Consumer/Net-OpenID-Consumer-1.180.0-r1.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Library for consumers of OpenID identities"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
virtual/perl-Digest-SHA
diff --git a/dev-perl/RPC-XML/RPC-XML-0.820.0.ebuild b/dev-perl/RPC-XML/RPC-XML-0.820.0.ebuild
index a336b2077528..16ec65d46e5b 100644
--- a/dev-perl/RPC-XML/RPC-XML-0.820.0.ebuild
+++ b/dev-perl/RPC-XML/RPC-XML-0.820.0.ebuild
@@ -12,7 +12,7 @@ DESCRIPTION="An implementation of XML-RPC"
SLOT="0"
LICENSE="|| ( Artistic-2 LGPL-2.1 )"
-KEYWORDS="amd64 arm64 ppc ~ppc64 x86"
+KEYWORDS="amd64 arm64 ppc ~ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-perl/URI-Fetch/URI-Fetch-0.150.0.ebuild b/dev-perl/URI-Fetch/URI-Fetch-0.150.0.ebuild
index 1dfbd7607ff9..ea2753d7317f 100644
--- a/dev-perl/URI-Fetch/URI-Fetch-0.150.0.ebuild
+++ b/dev-perl/URI-Fetch/URI-Fetch-0.150.0.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Smart URI fetching/caching"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
virtual/perl-Carp
diff --git a/dev-perl/XML-Atom/XML-Atom-0.430.0.ebuild b/dev-perl/XML-Atom/XML-Atom-0.430.0.ebuild
index b8a2092cd83a..dd1ee6ef46a6 100644
--- a/dev-perl/XML-Atom/XML-Atom-0.430.0.ebuild
+++ b/dev-perl/XML-Atom/XML-Atom-0.430.0.ebuild
@@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Atom feed and API implementation"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
RDEPEND="
dev-perl/Class-Data-Inheritable
diff --git a/dev-perl/XML-Feed/XML-Feed-0.630.0.ebuild b/dev-perl/XML-Feed/XML-Feed-0.630.0.ebuild
index 624707e0e4ca..3f07e045385a 100644
--- a/dev-perl/XML-Feed/XML-Feed-0.630.0.ebuild
+++ b/dev-perl/XML-Feed/XML-Feed-0.630.0.ebuild
@@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="Syndication feed parser and auto-discovery"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="minimal"
RDEPEND="
diff --git a/dev-perl/XML-RSS-LibXML/XML-RSS-LibXML-0.310.500-r1.ebuild b/dev-perl/XML-RSS-LibXML/XML-RSS-LibXML-0.310.500-r1.ebuild
index 8ce2600b372c..eb94c89c4d4b 100644
--- a/dev-perl/XML-RSS-LibXML/XML-RSS-LibXML-0.310.500-r1.ebuild
+++ b/dev-perl/XML-RSS-LibXML/XML-RSS-LibXML-0.310.500-r1.ebuild
@@ -9,7 +9,7 @@ inherit perl-module
DESCRIPTION="XML::RSS with XML::LibXML"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="minimal"
RDEPEND="
diff --git a/dev-util/shellcheck/shellcheck-0.8.0.ebuild b/dev-util/shellcheck/shellcheck-0.8.0.ebuild
index 518ead51ceb8..620ad1629930 100644
--- a/dev-util/shellcheck/shellcheck-0.8.0.ebuild
+++ b/dev-util/shellcheck/shellcheck-0.8.0.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz"
LICENSE="GPL-3"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
RDEPEND="dev-haskell/aeson:=[profile?]
>=dev-haskell/diff-0.2.0:=[profile?]
diff --git a/dev-util/shelltestrunner/shelltestrunner-1.9.ebuild b/dev-util/shelltestrunner/shelltestrunner-1.9.ebuild
index beb60a7bc892..bc799ecbf3f5 100644
--- a/dev-util/shelltestrunner/shelltestrunner-1.9.ebuild
+++ b/dev-util/shelltestrunner/shelltestrunner-1.9.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-vcs/darcs/darcs-2.16.5-r2.ebuild b/dev-vcs/darcs/darcs-2.16.5-r2.ebuild
index 3fc24e53ff5f..81fd10d0aab7 100644
--- a/dev-vcs/darcs/darcs-2.16.5-r2.ebuild
+++ b/dev-vcs/darcs/darcs-2.16.5-r2.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="curl +terminfo +threaded"
RDEPEND=">=dev-haskell/async-2.0.2:=[profile?] <dev-haskell/async-2.3:=[profile?]
diff --git a/dev-vcs/git-annex/git-annex-10.20220624.ebuild b/dev-vcs/git-annex/git-annex-10.20220624.ebuild
index 87319163036a..168e00c73277 100644
--- a/dev-vcs/git-annex/git-annex-10.20220624.ebuild
+++ b/dev-vcs/git-annex/git-annex-10.20220624.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://git-annex.branchable.com/"
LICENSE="AGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux"
IUSE="+assistant +benchmark +dbus debug doc +gitlfs +magicmime +pairing +torrentparser +webapp"
REQUIRED_USE="webapp? ( assistant )"
diff --git a/net-mail/list-remote-forwards/list-remote-forwards-0.0.3.ebuild b/net-mail/list-remote-forwards/list-remote-forwards-0.0.3.ebuild
index 4e73d3802679..45630524bd48 100644
--- a/net-mail/list-remote-forwards/list-remote-forwards-0.0.3.ebuild
+++ b/net-mail/list-remote-forwards/list-remote-forwards-0.0.3.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
# dev-haskell/dns and dev-haskell/resolv conflict
diff --git a/net-mail/mailbox-count/mailbox-count-0.0.6.ebuild b/net-mail/mailbox-count/mailbox-count-0.0.6.ebuild
index 8a107660437b..448bf57bb078 100644
--- a/net-mail/mailbox-count/mailbox-count-0.0.6.ebuild
+++ b/net-mail/mailbox-count/mailbox-count-0.0.6.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="
diff --git a/net-misc/haeredes/haeredes-0.5.3.ebuild b/net-misc/haeredes/haeredes-0.5.3.ebuild
index f69ac9ed0ca4..b0213512e228 100644
--- a/net-misc/haeredes/haeredes-0.5.3.ebuild
+++ b/net-misc/haeredes/haeredes-0.5.3.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
# The test suite requires network access.
diff --git a/net-misc/hath/hath-0.5.7.ebuild b/net-misc/hath/hath-0.5.7.ebuild
index 120ff862aafe..5a9d9cd2d042 100644
--- a/net-misc/hath/hath-0.5.7.ebuild
+++ b/net-misc/hath/hath-0.5.7.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND=">=dev-haskell/cmdargs-0.10:=
diff --git a/profiles/arch/riscv/package.use.force b/profiles/arch/riscv/package.use.force
index cb405f4ea1f3..cc0ff6691734 100644
--- a/profiles/arch/riscv/package.use.force
+++ b/profiles/arch/riscv/package.use.force
@@ -1,6 +1,12 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# matoro <matoro_gentoo@matoro.tk> (2022-09-10)
+# GHC does not support native codegen for riscv at all.
+# It gains LLVM codegen in 9.2, but we maintain a backport of this,
+# so force LLVM codegen in all versions.
+dev-lang/ghc llvm
+
# we, kinda, need this on riscv ...
sys-devel/llvm llvm_targets_RISCV
sys-devel/clang llvm_targets_RISCV
diff --git a/www-apps/ikiwiki/ikiwiki-3.20200202.3-r1.ebuild b/www-apps/ikiwiki/ikiwiki-3.20200202.3-r1.ebuild
index 36260edf4994..ee1d0d53511d 100644
--- a/www-apps/ikiwiki/ikiwiki-3.20200202.3-r1.ebuild
+++ b/www-apps/ikiwiki/ikiwiki-3.20200202.3-r1.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}/ikiwiki-${PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="extras minimal test"
RESTRICT="!test? ( test )"
diff --git a/x11-misc/xmobar/xmobar-0.44.1.ebuild b/x11-misc/xmobar/xmobar-0.44.1.ebuild
index d09d7919119c..4a7d43bb0054 100644
--- a/x11-misc/xmobar/xmobar-0.44.1.ebuild
+++ b/x11-misc/xmobar/xmobar-0.44.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="alsa dbus mpd mpris +rtsopts timezone uvmeter +weather wifi xft xpm"
RDEPEND=">=dev-haskell/aeson-1.4.7.1:=[profile?]
diff --git a/x11-wm/xmonad-contrib/xmonad-contrib-0.17.0.ebuild b/x11-wm/xmonad-contrib/xmonad-contrib-0.17.0.ebuild
index 445857960aac..1e605d44ef94 100644
--- a/x11-wm/xmonad-contrib/xmonad-contrib-0.17.0.ebuild
+++ b/x11-wm/xmonad-contrib/xmonad-contrib-0.17.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="+xft"
RDEPEND=">=dev-haskell/mtl-1:=[profile?] <dev-haskell/mtl-3:=[profile?]
diff --git a/x11-wm/xmonad/xmonad-0.17.0.ebuild b/x11-wm/xmonad/xmonad-0.17.0.ebuild
index 12ac7299f711..bafb20e3b632 100644
--- a/x11-wm/xmonad/xmonad-0.17.0.ebuild
+++ b/x11-wm/xmonad/xmonad-0.17.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="no-autorepeat-keys"
RDEPEND="dev-haskell/data-default-class:=[profile?]