mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 15:22:59 +01:00
Merge pull request #130424 from NixOS/haskell-updates
haskellPackages: update stackage and hackage
This commit is contained in:
commit
6f08b46853
23 changed files with 2068 additions and 614 deletions
|
@ -30,9 +30,10 @@ EOF
|
|||
|
||||
# clear environment here to avoid things like allowing broken builds in
|
||||
sort -iu "$tmpfile" >> "$broken_config"
|
||||
env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
||||
env -i maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
|
||||
env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
||||
clear="env -u HOME -u NIXPKGS_CONFIG"
|
||||
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
||||
$clear maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
|
||||
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
||||
|
||||
if [[ "${1:-}" == "--do-commit" ]]; then
|
||||
git add $broken_config
|
||||
|
|
21
maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
Executable file
21
maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
Executable file
|
@ -0,0 +1,21 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p nix curl gnused -I nixpkgs=.
|
||||
|
||||
# On Hackage every package description shows a category "Distributions" which
|
||||
# lists a "NixOS" version.
|
||||
# This script uploads a csv to hackage which will update the displayed versions
|
||||
# based on the current versions in nixpkgs. This happens with a simple http
|
||||
# request.
|
||||
|
||||
# For authorization you just need to have any valid hackage account. This
|
||||
# script uses the `username` and `password-command` field from your
|
||||
# ~/.cabal/config file.
|
||||
|
||||
# e.g. username: maralorn
|
||||
# password-command: pass hackage.haskell.org (this can be any command, but not an arbitrary shell expression.)
|
||||
# Those fields are specified under `upload` on the `cabal` man page.
|
||||
|
||||
package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv"
|
||||
username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //")
|
||||
password_command=$(grep "^password-command:" ~/.cabal/config | sed "s/^password-command: //")
|
||||
curl -u "$username:$($password_command)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv
|
|
@ -114,8 +114,9 @@ with lib.maintainers; {
|
|||
|
||||
haskell = {
|
||||
members = [
|
||||
maralorn
|
||||
cdepillabout
|
||||
expipiplus1
|
||||
maralorn
|
||||
sternenseemann
|
||||
];
|
||||
scope = "Maintain Haskell packages and infrastructure.";
|
||||
|
|
|
@ -46,6 +46,7 @@ let
|
|||
|
||||
defaults =
|
||||
{ pname
|
||||
, meta
|
||||
, buildInputs ? []
|
||||
, everythingFile ? "./Everything.agda"
|
||||
, libraryName ? pname
|
||||
|
@ -76,6 +77,7 @@ let
|
|||
find -not \( -path ${everythingFile} -or -path ${lib.interfaceFile everythingFile} \) -and \( ${concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions)} \) -exec cp -p --parents -t "$out" {} +
|
||||
runHook postInstall
|
||||
'';
|
||||
meta = if meta.broken or false then meta // { hydraPlatforms = lib.platforms.none; } else meta;
|
||||
};
|
||||
in
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"commit": "360e4a3b93ab9fc49673c9d91eebd963ddd7e132",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/360e4a3b93ab9fc49673c9d91eebd963ddd7e132.tar.gz",
|
||||
"sha256": "0pzi0kjlma36s0z5wfcghn6h6lwx61vvq8f7322nz80fs4drpn64",
|
||||
"msg": "Update from Hackage at 2021-07-07T20:16:30Z"
|
||||
"commit": "51c018b566e360a908addb7fcabf98fc0fbaafbe",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/51c018b566e360a908addb7fcabf98fc0fbaafbe.tar.gz",
|
||||
"sha256": "0xbc0z6zx60c0m3ck0iaa5xsw7d5phk2d8wh66w66j7ci7dyah85",
|
||||
"msg": "Update from Hackage at 2021-07-21T05:42:12Z"
|
||||
}
|
||||
|
|
|
@ -309,6 +309,10 @@ stdenv.mkDerivation (rec {
|
|||
maintainers = with lib.maintainers; [ marcweber andres peti ];
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
|
||||
# integer-simple builds are broken when GHC links against musl.
|
||||
# See https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881323743.
|
||||
broken = enableIntegerSimple && hostPlatform.isMusl;
|
||||
};
|
||||
|
||||
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||
|
|
|
@ -319,6 +319,10 @@ stdenv.mkDerivation (rec {
|
|||
maintainers = with lib.maintainers; [ marcweber andres peti ];
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
|
||||
# integer-simple builds are broken when GHC links against musl.
|
||||
# See https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881323743.
|
||||
broken = enableIntegerSimple && hostPlatform.isMusl;
|
||||
};
|
||||
|
||||
dontStrip = (targetPlatform.useAndroidPrebuilt || targetPlatform.isWasm);
|
||||
|
|
|
@ -296,6 +296,10 @@ stdenv.mkDerivation (rec {
|
|||
maintainers = with lib.maintainers; [ marcweber andres peti ];
|
||||
timeout = 24 * 3600;
|
||||
inherit (ghc.meta) license platforms;
|
||||
|
||||
# integer-simple builds are broken when GHC links against musl.
|
||||
# See https://github.com/NixOS/nixpkgs/pull/129606#issuecomment-881323743.
|
||||
broken = enableIntegerSimple && hostPlatform.isMusl;
|
||||
};
|
||||
|
||||
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||
|
|
|
@ -241,6 +241,14 @@ When you've double-checked these points, go ahead and merge the `haskell-updates
|
|||
After merging, **make sure not to delete the `haskell-updates` branch**, since it
|
||||
causes all currently open Haskell-related pull-requests to be automatically closed on GitHub.
|
||||
|
||||
## Update Hackage Version Information
|
||||
|
||||
After merging into `master` you can update what hackage displays as the current
|
||||
version in NixOS for every individual package.
|
||||
To do this you run `maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh`.
|
||||
See the script for how to provide credentials. Once you have configured that
|
||||
running this takes only a few seconds.
|
||||
|
||||
## Additional Info
|
||||
|
||||
Here are some additional tips that didn't fit in above.
|
||||
|
@ -287,3 +295,34 @@ Here are some additional tips that didn't fit in above.
|
|||
|
||||
- The Haskell team members generally hang out in the Matrix room
|
||||
[#haskell:nixos.org](https://matrix.to/#/#haskell:nixos.org).
|
||||
|
||||
- This is a checklist for things that need to happen when a new
|
||||
member is added to the Nixpkgs Haskell team.
|
||||
|
||||
1. Add the person to the
|
||||
[@NixOS/haskell](https://github.com/orgs/NixOS/teams/haskell)
|
||||
team. You may need to ask someone in the NixOS organization
|
||||
to do this, like [@domenkozar](https://github.com/domenkozar).
|
||||
This gives the new member access to the GitHub repos like
|
||||
[cabal2nix](https://github.com/NixOS/cabal2nix).
|
||||
|
||||
1. Add the person as a maintainer for the following packages
|
||||
on Hackage:
|
||||
- https://hackage.haskell.org/package/cabal2nix
|
||||
- https://hackage.haskell.org/package/distribution-nixpkgs
|
||||
- https://hackage.haskell.org/package/hackage-db
|
||||
- https://hackage.haskell.org/package/jailbreak-cabal
|
||||
- https://hackage.haskell.org/package/language-nix
|
||||
|
||||
1. Add the person to the `haskell` team in
|
||||
[`maintainers/team-list.nix`](../../../maintainers/team-list.nix).
|
||||
This team is responsible for some important packages in
|
||||
[release-haskell.nix](../../top-level/release-haskell.nix).
|
||||
|
||||
1. Update the
|
||||
[Nextcloud Calendar](https://cloud.maralorn.de/apps/calendar/p/Mw5WLnzsP7fC4Zky)
|
||||
and work the new member into the `haskell-updates` rotation.
|
||||
|
||||
1. Optionally, have the new member add themselves to the Haskell
|
||||
section in [`CODEOWNERS`](../../../.github/CODEOWNERS). This
|
||||
will cause them to get pinged on most Haskell-related PRs.
|
||||
|
|
|
@ -64,7 +64,7 @@ self: super: {
|
|||
name = "git-annex-${super.git-annex.version}-src";
|
||||
url = "git://git-annex.branchable.com/";
|
||||
rev = "refs/tags/" + super.git-annex.version;
|
||||
sha256 = "0nvaaba06dgkl2kfq6ldmj0v6mm2dh7wfky6lsxxy5kskbncyqjr";
|
||||
sha256 = "0jnxh12vkrssz0lj4fpkqw7nxwyc1kisvvpm85cd4zf525m5sgg3";
|
||||
# delete android and Android directories which cause issues on
|
||||
# darwin (case insensitive directory). Since we don't need them
|
||||
# during the build process, we can delete it to prevent a hash
|
||||
|
@ -178,51 +178,17 @@ self: super: {
|
|||
digit = doJailbreak super.digit;
|
||||
|
||||
hnix = generateOptparseApplicativeCompletion "hnix"
|
||||
(overrideCabal super.hnix (drv: {
|
||||
(overrideCabal (super.hnix.override {
|
||||
# needs newer version of relude and semialign than stackage has
|
||||
relude = self.relude_1_0_0_1;
|
||||
semialign = self.semialign_1_2;
|
||||
}) (drv: {
|
||||
# 2020-06-05: HACK: does not pass own build suite - `dontCheck`
|
||||
doCheck = false;
|
||||
# 2021-05-12: Revert a few dependency cleanups which depend on release
|
||||
# that are not in stackage yet:
|
||||
# * Depend on semialign-indexed for Data.Semialign.Indexed
|
||||
# (remove when semialign >= 1.2 in stackage)
|
||||
# * Readd dependencies to text and unordered-containers.
|
||||
# (remove when relude >= 1.0.0.0 is in stackage, see
|
||||
# https://github.com/haskell-nix/hnix/issues/933)
|
||||
libraryHaskellDepends = [
|
||||
self.semialign-indexed
|
||||
] ++ drv.libraryHaskellDepends;
|
||||
patches = [
|
||||
# depend on semialign-indexed again
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/haskell-nix/hnix/commit/16fc342a4f2974f855968472252cd9274609f177.patch";
|
||||
sha256 = "0gm4gy3jpn4dqnrhnqlsavfpw9c1j1xa8002v54knnlw6vpk9niy";
|
||||
revert = true;
|
||||
})
|
||||
# depend on text again
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/haskell-nix/hnix/commit/73057618576e86bb87dfd42f62b855d24bbdf469.patch";
|
||||
sha256 = "03cyk96d5ad362i1pnz9bs8ifr84kpv8phnr628gys4j6a0bqwzc";
|
||||
revert = true;
|
||||
})
|
||||
# depend on unordered-containers again
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/haskell-nix/hnix/commit/70643481883ed448b51221a030a76026fb5eb731.patch";
|
||||
sha256 = "0pqmijfkysjixg3gb4kmrqdif7s2saz8qi6k337jf15i0npzln8d";
|
||||
revert = true;
|
||||
})
|
||||
# allow relude < 1.0 again
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://github.com/haskell-nix/hnix/commit/f4ea5dcb344369916586498ba33c00d0fc605a79.patch";
|
||||
sha256 = "1ajl7d49d658xhalgf3pc5svmbq73dsysy6z434n75vb1357mx86";
|
||||
revert = true;
|
||||
})
|
||||
] ++ (drv.patches or []);
|
||||
# make sure patches are not broken by cabal file revisions
|
||||
revision = null;
|
||||
editedCabalFile = null;
|
||||
}));
|
||||
|
||||
# Fails for non-obvious reasons while attempting to use doctest.
|
||||
focuslist = dontCheck super.focuslist;
|
||||
search = dontCheck super.search;
|
||||
|
||||
# see https://github.com/LumiGuide/haskell-opencv/commit/cd613e200aa20887ded83256cf67d6903c207a60
|
||||
|
@ -1944,12 +1910,6 @@ EOT
|
|||
# Fixed on upstream: https://github.com/softwarefactory-project/matrix-client-haskell/commit/4ca4963cfd06379d9bdce49742af854aed6a0d37
|
||||
matrix-client = dontCheck super.matrix-client;
|
||||
|
||||
# Flakey tests
|
||||
# upstream https://github.com/circuithub/rel8/issues/86
|
||||
rel8 = dontCheck (super.rel8.override {
|
||||
opaleye = dontCheck super.opaleye_0_7_2_0;
|
||||
});
|
||||
|
||||
# Release 1.0.0.0 added version bounds (was unrestricted before),
|
||||
# but with too strict lower bounds for our lts-18.
|
||||
graphql = assert pkgs.lib.versionOlder self.parser-combinators.version "1.3.0";
|
||||
|
|
|
@ -1999,6 +1999,7 @@ broken-packages:
|
|||
- hedgehog-checkers
|
||||
- hedgehog-generic
|
||||
- hedgehog-golden
|
||||
- hedgehog-optics
|
||||
- hedgehog-servant
|
||||
- hedis-config
|
||||
- hedis-namespace
|
||||
|
@ -2023,7 +2024,6 @@ broken-packages:
|
|||
- heterogeneous-list-literals
|
||||
- hetris
|
||||
- heukarya
|
||||
- hevm
|
||||
- HExcel
|
||||
- hexchat
|
||||
- hexif
|
||||
|
@ -2211,6 +2211,7 @@ broken-packages:
|
|||
- hs2ps
|
||||
- hsakamai
|
||||
- hsaml2
|
||||
- hs-aws-lambda
|
||||
- hsay
|
||||
- hsbc
|
||||
- hsbencher
|
||||
|
@ -3172,6 +3173,7 @@ broken-packages:
|
|||
- naqsha
|
||||
- narc
|
||||
- nationstates
|
||||
- nat-optics
|
||||
- nats-client
|
||||
- nat-sized-numbers
|
||||
- natural
|
||||
|
@ -3468,6 +3470,7 @@ broken-packages:
|
|||
- parsergen
|
||||
- parser-helper
|
||||
- parsers-megaparsec
|
||||
- parser-unbiased-choice-monad-embedding
|
||||
- parsimony
|
||||
- parsley
|
||||
- parsley-core
|
||||
|
@ -3734,6 +3737,7 @@ broken-packages:
|
|||
- process-leksah
|
||||
- process-listlike
|
||||
- processmemory
|
||||
- procex
|
||||
- procrastinating-variable
|
||||
- procstat
|
||||
- prof2pretty
|
||||
|
@ -4805,7 +4809,6 @@ broken-packages:
|
|||
- Titim
|
||||
- tkhs
|
||||
- tkyprof
|
||||
- tmp-postgres
|
||||
- todo
|
||||
- tofromxml
|
||||
- to-haskell
|
||||
|
|
|
@ -85,9 +85,8 @@ default-package-overrides:
|
|||
- dual-tree < 0.2.3.0
|
||||
- diagrams-core < 1.5.0
|
||||
- diagrams-lib < 1.4.4
|
||||
# 2021-06-14: hnix still needs old versions https://github.com/haskell-nix/hnix/issues/952
|
||||
- hnix-store-core < 0.5
|
||||
- hnix-store-remote < 0.5
|
||||
# streamly-bytestring 0.1.3 needs streamly 0.8.0 which is not included in our stackage snapshot
|
||||
- streamly-bytestring == 0.1.2
|
||||
|
||||
extra-packages:
|
||||
- base16-bytestring < 1 # required for cabal-install etc.
|
||||
|
@ -115,11 +114,14 @@ extra-packages:
|
|||
- crackNum < 3.0 # 2021-05-21: 3.0 removed the lib which sbv 7.13 uses
|
||||
- ShellCheck == 0.7.1 # 2021-05-09: haskell-ci 0.12.1 pins this version
|
||||
- hackage-db < 2.1.1 # 2021-06-10: Need older hackage-db as long as Cabal < 3.4, see https://github.com/NixOS/cabal2nix/issues/501
|
||||
- opaleye < 0.7.3.0 # 2021-07-11: for rel8 <= 1.0.0.1, see https://github.com/circuithub/rel8/issues/95#issuecomment-877616118
|
||||
|
||||
package-maintainers:
|
||||
abbradar:
|
||||
- Agda
|
||||
Anton-Latukha:
|
||||
- hnix
|
||||
- hnix-store-core
|
||||
- hnix-store-remote
|
||||
berberman:
|
||||
- nvfetcher
|
||||
- arch-web
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Stackage LTS 18.1
|
||||
# Stackage LTS 18.2
|
||||
# This file is auto-generated by
|
||||
# maintainers/scripts/haskell/update-stackage.sh
|
||||
default-package-overrides:
|
||||
|
@ -207,7 +207,7 @@ default-package-overrides:
|
|||
- backprop ==0.2.6.4
|
||||
- backtracking ==0.1.0
|
||||
- bank-holidays-england ==0.2.0.6
|
||||
- barbies ==2.0.2.0
|
||||
- barbies ==2.0.3.0
|
||||
- base16 ==0.3.0.1
|
||||
- base16-bytestring ==1.0.1.0
|
||||
- base16-lens ==0.1.3.2
|
||||
|
@ -601,7 +601,7 @@ default-package-overrides:
|
|||
- di-core ==1.0.4
|
||||
- dictionary-sharing ==0.1.0.0
|
||||
- Diff ==0.4.0
|
||||
- digest ==0.0.1.2
|
||||
- digest ==0.0.1.3
|
||||
- digits ==0.3.1
|
||||
- dimensional ==1.4
|
||||
- di-monad ==1.3.1
|
||||
|
@ -703,7 +703,7 @@ default-package-overrides:
|
|||
- errors ==2.3.0
|
||||
- errors-ext ==0.4.2
|
||||
- ersatz ==0.4.9
|
||||
- esqueleto ==3.5.2.0
|
||||
- esqueleto ==3.5.2.1
|
||||
- essence-of-live-coding ==0.2.5
|
||||
- essence-of-live-coding-gloss ==0.2.5
|
||||
- essence-of-live-coding-pulse ==0.2.5
|
||||
|
@ -794,7 +794,7 @@ default-package-overrides:
|
|||
- foldable1 ==0.1.0.0
|
||||
- fold-debounce ==0.2.0.9
|
||||
- fold-debounce-conduit ==0.2.0.6
|
||||
- foldl ==1.4.11
|
||||
- foldl ==1.4.12
|
||||
- folds ==0.7.6
|
||||
- follow-file ==0.0.3
|
||||
- FontyFruity ==0.5.3.5
|
||||
|
@ -896,7 +896,7 @@ default-package-overrides:
|
|||
- ghc-parser ==0.2.3.0
|
||||
- ghc-paths ==0.1.0.12
|
||||
- ghc-prof ==1.4.1.8
|
||||
- ghc-source-gen ==0.4.0.0
|
||||
- ghc-source-gen ==0.4.1.0
|
||||
- ghc-syntax-highlighter ==0.0.6.0
|
||||
- ghc-tcplugins-extra ==0.4.2
|
||||
- ghc-trace-events ==0.1.2.3
|
||||
|
@ -978,7 +978,7 @@ default-package-overrides:
|
|||
- happy ==1.20.0
|
||||
- happy-meta ==0.2.0.11
|
||||
- HasBigDecimal ==0.1.1
|
||||
- hasbolt ==0.1.5.0
|
||||
- hasbolt ==0.1.6.1
|
||||
- hashable ==1.3.0.0
|
||||
- hashable-time ==0.2.1
|
||||
- hashids ==1.0.2.4
|
||||
|
@ -1121,7 +1121,7 @@ default-package-overrides:
|
|||
- hspec-golden ==0.1.0.3
|
||||
- hspec-golden-aeson ==0.7.0.0
|
||||
- hspec-hedgehog ==0.0.1.2
|
||||
- hspec-junit-formatter ==1.0.0.4
|
||||
- hspec-junit-formatter ==1.0.0.5
|
||||
- hspec-leancheck ==0.0.6
|
||||
- hspec-megaparsec ==2.2.0
|
||||
- hspec-meta ==2.7.8
|
||||
|
@ -1218,7 +1218,7 @@ default-package-overrides:
|
|||
- ieee754 ==0.8.0
|
||||
- if ==0.1.0.0
|
||||
- iff ==0.0.6
|
||||
- ihaskell ==0.10.2.0
|
||||
- ihaskell ==0.10.2.1
|
||||
- ihs ==0.1.0.3
|
||||
- ilist ==0.4.0.1
|
||||
- imagesize-conduit ==1.1
|
||||
|
@ -2024,7 +2024,7 @@ default-package-overrides:
|
|||
- safe-coloured-text-terminfo ==0.0.0.0
|
||||
- safecopy ==0.10.4.2
|
||||
- safe-decimal ==0.2.1.0
|
||||
- safe-exceptions ==0.1.7.1
|
||||
- safe-exceptions ==0.1.7.2
|
||||
- safe-foldable ==0.1.0.0
|
||||
- safeio ==0.0.5.0
|
||||
- safe-json ==1.1.1.1
|
||||
|
@ -2562,7 +2562,7 @@ default-package-overrides:
|
|||
- vector-algorithms ==0.8.0.4
|
||||
- vector-binary-instances ==0.2.5.2
|
||||
- vector-buffer ==0.4.1
|
||||
- vector-builder ==0.3.8.1
|
||||
- vector-builder ==0.3.8.2
|
||||
- vector-bytes-instances ==0.1.1
|
||||
- vector-circular ==0.1.3
|
||||
- vector-instances ==3.4
|
||||
|
|
|
@ -1444,7 +1444,6 @@ dont-distribute-packages:
|
|||
- hasql-cursor-query
|
||||
- hasql-postgres
|
||||
- hasql-postgres-options
|
||||
- hasql-queue
|
||||
- hasql-th
|
||||
- hastache-aeson
|
||||
- haste-app
|
||||
|
@ -2341,6 +2340,7 @@ dont-distribute-packages:
|
|||
- polysemy-fskvstore
|
||||
- polysemy-http
|
||||
- polysemy-keyed-state
|
||||
- polysemy-kvstore
|
||||
- polysemy-kvstore-jsonfile
|
||||
- polysemy-log
|
||||
- polysemy-log-co
|
||||
|
@ -2351,11 +2351,14 @@ dont-distribute-packages:
|
|||
- polysemy-optics
|
||||
- polysemy-path
|
||||
- polysemy-plugin
|
||||
- polysemy-plugin_0_4_0_0
|
||||
- polysemy-readline
|
||||
- polysemy-req
|
||||
- polysemy-resume
|
||||
- polysemy-socket
|
||||
- polysemy-test
|
||||
- polysemy-time
|
||||
- polysemy-uncontrolled
|
||||
- polysemy-video
|
||||
- polysemy-vinyl
|
||||
- polysemy-webserver
|
||||
|
@ -2893,7 +2896,6 @@ dont-distribute-packages:
|
|||
- swearjure
|
||||
- sweet-egison
|
||||
- switch
|
||||
- sydtest-persistent-postgresql
|
||||
- sylvia
|
||||
- sym-plot
|
||||
- symantic-atom
|
||||
|
|
2290
pkgs/development/haskell-modules/hackage-packages.nix
generated
2290
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load diff
19
pkgs/development/haskell-modules/package-list.nix
Normal file
19
pkgs/development/haskell-modules/package-list.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ runCommand, haskellPackages, lib, all-cabal-hashes, writeShellScript }:
|
||||
let
|
||||
pkgLine = name: pkg:
|
||||
let
|
||||
version = pkg.version or "";
|
||||
in
|
||||
if version != "" then
|
||||
''"${name}","${version}","http://hydra.nixos.org/job/nixpkgs/trunk/haskellPackages.${name}.x86_64-linux"''
|
||||
else "";
|
||||
all-haskellPackages = builtins.toFile "all-haskellPackages" (lib.concatStringsSep "\n" (lib.filter (x: x != "") (lib.mapAttrsToList pkgLine haskellPackages)));
|
||||
in
|
||||
runCommand "hackage-package-list" { }
|
||||
# This command will make a join between all packages on hackage and haskellPackages.*.
|
||||
# It creates a valid csv file which can be uploaded to hackage.haskell.org.
|
||||
# The call is wrapped in echo $(...) to trim trailing newline, which hackage requires.
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
echo -n "$(tar -t -f ${all-cabal-hashes} | sed 's![^/]*/\([^/]*\)/.*!"\1"!' | sort -u | join -t , - ${all-haskellPackages})" > $out/nixos-hackage-packages.csv
|
||||
''
|
|
@ -1,14 +1,14 @@
|
|||
{ lib, mkDerivation, fetchFromGitHub, standard-library }:
|
||||
|
||||
mkDerivation rec {
|
||||
version = "0.1.6";
|
||||
version = "0.1.7.1";
|
||||
pname = "agda-categories";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "agda";
|
||||
repo = "agda-categories";
|
||||
rev = "v${version}";
|
||||
sha256 = "1s75yqcjwj13s1m3fg29krnn05lws6143ccfdygc6c4iynvvznsh";
|
||||
sha256 = "1acb693ad2nrmnn6jxsyrlkc0di3kk2ksj2w9wnyfxrgvfsil7rn";
|
||||
};
|
||||
|
||||
buildInputs = [ standard-library ];
|
||||
|
|
|
@ -19,6 +19,8 @@ mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
# Remove if a version compatible with agda 2.6.2 is made
|
||||
broken = true;
|
||||
homepage = "https://github.com/UlfNorell/agda-prelude";
|
||||
description = "Programming library for Agda";
|
||||
license = lib.licenses.mit;
|
||||
|
|
|
@ -18,6 +18,8 @@ mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
# Remove if a version compatible with agda 2.6.2 is made
|
||||
broken = true;
|
||||
homepage = "https://github.com/ryanorendorff/functional-linear-algebra";
|
||||
description = ''
|
||||
Formalizing linear algebra in Agda by representing matrices as functions
|
||||
|
|
|
@ -21,6 +21,8 @@ mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
# Remove if a version compatible with agda 2.6.2 is made
|
||||
broken = true;
|
||||
description =
|
||||
"A library for doing generic programming in Agda";
|
||||
homepage = src.meta.homepage;
|
||||
|
|
|
@ -20,14 +20,14 @@
|
|||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "nix-linter-unstable";
|
||||
version = "2021-06-16";
|
||||
pname = "nix-linter";
|
||||
version = "0.2.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Synthetica9";
|
||||
repo = "nix-linter";
|
||||
rev = "74707ed48dcc58dbfa27ae25ee0e044c072cc344";
|
||||
sha256 = "17scghkinpx3pzlw3hw023ybnd8cy7bqfy8b48vwaq8a7bnm2rs3";
|
||||
rev = "38c4a14681cf3a1e6f098d8b723db503910a28d8";
|
||||
sha256 = "16igk4xnm4mg9mw0zg2zk6s44axia3fs6334fasvjy0c7cjwk4c7";
|
||||
};
|
||||
|
||||
isLibrary = false;
|
||||
|
|
|
@ -42,6 +42,8 @@ let
|
|||
in {
|
||||
lib = haskellLib;
|
||||
|
||||
package-list = callPackage ../development/haskell-modules/package-list.nix {};
|
||||
|
||||
compiler = {
|
||||
|
||||
ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix { };
|
||||
|
|
|
@ -18,18 +18,22 @@ let
|
|||
};
|
||||
|
||||
inherit (releaseLib)
|
||||
pkgs
|
||||
packagePlatforms
|
||||
lib
|
||||
mapTestOn
|
||||
aggregate
|
||||
packagePlatforms
|
||||
pkgs
|
||||
;
|
||||
|
||||
inherit (pkgs) lib;
|
||||
|
||||
# helper function which traverses a (nested) set
|
||||
# Helper function which traverses a (nested) set
|
||||
# of derivations produced by mapTestOn and flattens
|
||||
# it to a list of derivations suitable to be passed
|
||||
# to `releaseTools.aggregate` as constituents.
|
||||
# Removes all non derivations from the input jobList.
|
||||
#
|
||||
# accumulateDerivations :: [ Either Derivation AttrSet ] -> [ Derivation ]
|
||||
#
|
||||
# > accumulateDerivations [ drv1 "string" { foo = drv2; bar = { baz = drv3; }; } ]
|
||||
# [ drv1 drv2 drv3 ]
|
||||
accumulateDerivations = jobList:
|
||||
lib.concatMap (
|
||||
attrs:
|
||||
|
@ -81,8 +85,45 @@ let
|
|||
|
||||
recursiveUpdateMany = builtins.foldl' lib.recursiveUpdate {};
|
||||
|
||||
staticHaskellPackagesPlatforms =
|
||||
packagePlatforms pkgs.pkgsStatic.haskell.packages.integer-simple.ghc8104;
|
||||
# Remove multiple elements from a list at once.
|
||||
#
|
||||
# removeMany
|
||||
# :: [a] -- list of elements to remove
|
||||
# -> [a] -- list of elements from which to remove
|
||||
# -> [a]
|
||||
#
|
||||
# > removeMany ["aarch64-linux" "x86_64-darwin"] ["aarch64-linux" "x86_64-darwin" "x86_64-linux"]
|
||||
# ["x86_64-linux"]
|
||||
removeMany = itemsToRemove: list: lib.foldr lib.remove list itemsToRemove;
|
||||
|
||||
# Recursively remove platforms from the values in an attribute set.
|
||||
#
|
||||
# removePlatforms
|
||||
# :: [String]
|
||||
# -> AttrSet
|
||||
# -> AttrSet
|
||||
#
|
||||
# > attrSet = {
|
||||
# foo = ["aarch64-linux" "x86_64-darwin" "x86_64-linux"];
|
||||
# bar.baz = ["aarch64-linux" "x86_64-linux"];
|
||||
# bar.quux = ["aarch64-linux" "x86_64-darwin"];
|
||||
# }
|
||||
# > removePlatforms ["aarch64-linux" "x86_64-darwin"] attrSet
|
||||
# {
|
||||
# foo = ["x86_64-linux"];
|
||||
# bar = {
|
||||
# baz = ["x86_64-linux"];
|
||||
# quux = [];
|
||||
# };
|
||||
# }
|
||||
removePlatforms = platformsToRemove: packageSet:
|
||||
lib.mapAttrsRecursive
|
||||
(_: val:
|
||||
if lib.isList val
|
||||
then removeMany platformsToRemove val
|
||||
else val
|
||||
)
|
||||
packageSet;
|
||||
|
||||
jobs = recursiveUpdateMany [
|
||||
(mapTestOn {
|
||||
|
@ -91,23 +132,8 @@ let
|
|||
|
||||
tests.haskell = packagePlatforms pkgs.tests.haskell;
|
||||
|
||||
pkgsMusl.haskell.compiler = packagePlatforms pkgs.pkgsMusl.haskell.compiler // {
|
||||
# remove musl ghc865Binary since it is known to be broken and
|
||||
# causes an evaluation error on darwin.
|
||||
# TODO: remove ghc865Binary altogether and use ghc8102Binary
|
||||
ghc865Binary = {};
|
||||
};
|
||||
|
||||
# test some statically linked packages to catch regressions
|
||||
# and get some cache going for static compilation with GHC
|
||||
# Use integer-simple to avoid GMP linking problems (LGPL)
|
||||
pkgsStatic.haskell.packages.integer-simple.ghc8104 = {
|
||||
inherit (staticHaskellPackagesPlatforms)
|
||||
hello
|
||||
random
|
||||
lens
|
||||
;
|
||||
};
|
||||
nixosTests.agda = (packagePlatforms pkgs.nixosTests).agda;
|
||||
agdaPackages = packagePlatforms pkgs.agdaPackages;
|
||||
|
||||
# top-level packages that depend on haskellPackages
|
||||
inherit (pkgsPlatforms)
|
||||
|
@ -215,6 +241,56 @@ let
|
|||
;
|
||||
|
||||
elmPackages.elm = pkgsPlatforms.elmPackages.elm;
|
||||
|
||||
# GHCs linked to musl.
|
||||
pkgsMusl.haskell.compiler = packagePlatforms pkgs.pkgsMusl.haskell.compiler // {
|
||||
# remove musl ghc865Binary since it is known to be broken and
|
||||
# causes an evaluation error on darwin.
|
||||
# TODO: remove ghc865Binary altogether and use ghc8102Binary
|
||||
ghc865Binary = {};
|
||||
|
||||
# remove integer-simple because it appears to be broken with
|
||||
# musl and non-static-linking.
|
||||
integer-simple = {};
|
||||
};
|
||||
|
||||
# Get some cache going for MUSL-enabled GHC.
|
||||
pkgsMusl.haskellPackages =
|
||||
removePlatforms
|
||||
[
|
||||
# pkgsMusl is compiled natively with musl. It is not
|
||||
# cross-compiled (unlike pkgsStatic). We can only
|
||||
# natively bootstrap GHC with musl on x86_64-linux because
|
||||
# upstream doesn't provide a musl bindist for aarch64.
|
||||
"aarch64-linux"
|
||||
|
||||
# musl only supports linux, not darwin.
|
||||
"x86_64-darwin"
|
||||
]
|
||||
{
|
||||
inherit (packagePlatforms pkgs.pkgsMusl.haskellPackages)
|
||||
hello
|
||||
lens
|
||||
random
|
||||
;
|
||||
};
|
||||
|
||||
# Test some statically linked packages to catch regressions
|
||||
# and get some cache going for static compilation with GHC.
|
||||
# Use integer-simple to avoid GMP linking problems (LGPL)
|
||||
pkgsStatic.haskell.packages.integer-simple.ghc8104 =
|
||||
removePlatforms
|
||||
[
|
||||
"aarch64-linux" # times out on Hydra
|
||||
"x86_64-darwin" # TODO: reenable when static libiconv works on darwin
|
||||
]
|
||||
{
|
||||
inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.integer-simple.ghc8104)
|
||||
hello
|
||||
lens
|
||||
random
|
||||
;
|
||||
};
|
||||
})
|
||||
(versionedCompilerJobs {
|
||||
# Packages which should be checked on more than the
|
||||
|
@ -291,25 +367,7 @@ let
|
|||
(name: jobs.haskellPackages."${name}")
|
||||
(maintainedPkgNames pkgs.haskellPackages));
|
||||
};
|
||||
staticHaskellPackages = pkgs.releaseTools.aggregate {
|
||||
name = "static-haskell-packages";
|
||||
meta = {
|
||||
description = "Static haskell builds using the pkgsStatic infrastructure";
|
||||
maintainers = [
|
||||
lib.maintainers.sternenseemann
|
||||
lib.maintainers.rnhmjoj
|
||||
];
|
||||
};
|
||||
constituents = [
|
||||
# TODO: reenable darwin builds if static libiconv works
|
||||
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.hello.x86_64-linux
|
||||
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.hello.aarch64-linux
|
||||
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.lens.x86_64-linux
|
||||
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.lens.aarch64-linux
|
||||
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.random.x86_64-linux
|
||||
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.random.aarch64-linux
|
||||
];
|
||||
};
|
||||
|
||||
muslGHCs = pkgs.releaseTools.aggregate {
|
||||
name = "haskell-pkgsMusl-ghcs";
|
||||
meta = {
|
||||
|
@ -325,6 +383,22 @@ let
|
|||
jobs.pkgsMusl.haskell.compiler.ghc901
|
||||
];
|
||||
};
|
||||
|
||||
staticHaskellPackages = pkgs.releaseTools.aggregate {
|
||||
name = "static-haskell-packages";
|
||||
meta = {
|
||||
description = "Static haskell builds using the pkgsStatic infrastructure";
|
||||
maintainers = [
|
||||
lib.maintainers.sternenseemann
|
||||
lib.maintainers.rnhmjoj
|
||||
];
|
||||
};
|
||||
constituents = accumulateDerivations [
|
||||
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.hello
|
||||
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.lens
|
||||
jobs.pkgsStatic.haskell.packages.integer-simple.ghc8104.random
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
|
|
Loading…
Reference in a new issue