ghc: 9.8.4 -> 9.10.3; Stackage LTS: 23.27 -> 24.9 (#429810)
This commit is contained in:
@@ -264,6 +264,9 @@ a4f7e161b380b35b2f7bc432659a95fd71254ad8
|
||||
# haskellPackages.hercules-ci-agent (cabal2nix -> nixfmt-rfc-style)
|
||||
9314da7ee8d2aedfb15193b8c489da51efe52bb5
|
||||
|
||||
# haskell-updates: nixfmt-rfc-style
|
||||
9e296dcf846294e0aa94af7d3235e82eee7fe055
|
||||
|
||||
# nix-builder-vm: nixfmt-rfc-style
|
||||
a034fb50f79816c6738fb48b48503b09ea3b0132
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ Each of those compiler versions has a corresponding attribute set `packages` bui
|
||||
it. However, the non-standard package sets are not tested regularly and, as a
|
||||
result, contain fewer working packages. The corresponding package set for GHC
|
||||
9.4.8 is `haskell.packages.ghc948`. In fact, `haskellPackages` (at the time of writing) is just an alias
|
||||
for `haskell.packages.ghc984`:
|
||||
for `haskell.packages.ghc9103`.
|
||||
|
||||
Every package set also re-exposes the GHC used to build its packages as `haskell.packages.*.ghc`.
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
and newer series. However, embedded chips without LSX (Loongson SIMD eXtension), such as 2K0300 SoC, are not
|
||||
supported. `pkgsCross.loongarch64-linux-embedded` can be used to build software and systems for these platforms.
|
||||
- The official Nix formatter `nixfmt` is now stable and available as `pkgs.nixfmt`, deprecating the temporary `pkgs.nixfmt-rfc-style` attribute. The classic `nixfmt` will stay available for some more time as `pkgs.nixfmt-classic`.
|
||||
- The default GHC version has been updated from 9.8 to 9.10.
|
||||
`haskellPackages` correspondingly uses Stackage LTS 24 (instead of LTS 23) as a baseline.
|
||||
|
||||
- Darwin has switched to using the system libc++. This was done for improved compatibility and to avoid ODR violations.
|
||||
If a newer C++ library feature is not available on the default deployment target, you will need to increase the deployment target.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -I nixpkgs=.
|
||||
#! nix-shell -p "haskellPackages.ghcWithPackages (p: [p.aeson p.req])"
|
||||
#! nix-shell -p hydra
|
||||
#! nix-shell -p nix-eval-jobs
|
||||
#! nix-shell -i runhaskell
|
||||
|
||||
{-
|
||||
@@ -33,19 +34,23 @@ Because step 1) is quite expensive and takes roughly ~5 minutes the result is ca
|
||||
import Control.Monad (forM_, forM, (<=<))
|
||||
import Control.Monad.Trans (MonadIO (liftIO))
|
||||
import Data.Aeson (
|
||||
FromJSON,
|
||||
FromJSON (..),
|
||||
withObject,
|
||||
(.:),
|
||||
FromJSONKey,
|
||||
ToJSON,
|
||||
decodeFileStrict',
|
||||
eitherDecodeStrict',
|
||||
encodeFile,
|
||||
)
|
||||
import Data.Foldable (Foldable (toList), foldl')
|
||||
import Data.Aeson.Decoding (eitherDecodeStrictText)
|
||||
import Data.Foldable (Foldable (toList))
|
||||
import Data.Either (rights)
|
||||
import Data.Functor ((<&>))
|
||||
import Data.List.NonEmpty (NonEmpty, nonEmpty)
|
||||
import qualified Data.List.NonEmpty as NonEmpty
|
||||
import Data.Map.Strict (Map)
|
||||
import qualified Data.Map.Strict as Map
|
||||
import Data.Maybe (fromMaybe, mapMaybe, isNothing)
|
||||
import Data.Maybe (fromMaybe, mapMaybe, isNothing, catMaybes)
|
||||
import Data.Monoid (Sum (Sum, getSum))
|
||||
import Data.Sequence (Seq)
|
||||
import qualified Data.Sequence as Seq
|
||||
@@ -53,7 +58,6 @@ import Data.Set (Set)
|
||||
import qualified Data.Set as Set
|
||||
import Data.Text (Text)
|
||||
import qualified Data.Text as Text
|
||||
import Data.Text.Encoding (encodeUtf8)
|
||||
import qualified Data.Text.IO as Text
|
||||
import Data.Time (defaultTimeLocale, formatTime, getCurrentTime)
|
||||
import Data.Time.Clock (UTCTime)
|
||||
@@ -206,7 +210,7 @@ hydraQuery responseType option query = do
|
||||
let customHeaderOpt =
|
||||
header
|
||||
"User-Agent"
|
||||
"hydra-report.hs/v1 (nixpkgs;maintainers/scripts/haskell) pls fix https://github.com/NixOS/nixos-org-configurations/issues/270"
|
||||
"hydra-report.hs/v1 (nixpkgs;maintainers/scripts/haskell)"
|
||||
customTimeoutOpt = responseTimeout 900_000_000 -- 15 minutes
|
||||
opts = customHeaderOpt <> customTimeoutOpt <> option
|
||||
url = foldl' (/:) (https "hydra.nixos.org") query
|
||||
@@ -218,11 +222,22 @@ hydraJSONQuery = hydraQuery jsonResponse
|
||||
hydraPlainQuery :: [Text] -> Req ByteString
|
||||
hydraPlainQuery = hydraQuery bsResponse mempty
|
||||
|
||||
hydraEvalCommand :: FilePath
|
||||
hydraEvalCommand = "hydra-eval-jobs"
|
||||
nixEvalJobsCommand :: FilePath
|
||||
nixEvalJobsCommand = "nix-eval-jobs"
|
||||
|
||||
hydraEvalParams :: [String]
|
||||
hydraEvalParams = ["-I", ".", "pkgs/top-level/release-haskell.nix"]
|
||||
nixEvalJobsParams :: [String]
|
||||
nixEvalJobsParams =
|
||||
[
|
||||
-- options necessary to make nix-eval-jobs behave like hydra-eval-jobs used to
|
||||
-- https://github.com/NixOS/hydra/commit/d84ff32ce600204c6473889a3ff16cd6053533c9
|
||||
"--meta",
|
||||
"--force-recurse",
|
||||
"--no-instantiate",
|
||||
"--workers", "3",
|
||||
|
||||
"-I", ".",
|
||||
"pkgs/top-level/release-haskell.nix"
|
||||
]
|
||||
|
||||
nixExprCommand :: FilePath
|
||||
nixExprCommand = "nix-instantiate"
|
||||
@@ -230,47 +245,27 @@ nixExprCommand = "nix-instantiate"
|
||||
nixExprParams :: [String]
|
||||
nixExprParams = ["--eval", "--strict", "--json"]
|
||||
|
||||
-- | This newtype is used to parse a Hydra job output from @hydra-eval-jobs@.
|
||||
-- The only field we are interested in is @maintainers@, which is why this
|
||||
-- is just a newtype.
|
||||
-- | Holds a list of the GitHub handles of the maintainers of a given 'JobName'.
|
||||
--
|
||||
-- Note that there are occasionally jobs that don't have a maintainers
|
||||
-- field, which is why this has to be @Maybe Text@.
|
||||
newtype Maintainers = Maintainers { maintainers :: Maybe Text }
|
||||
-- @
|
||||
-- JobMaintainers (JobName "haskellPackages.cabal-install.x86_64-linux") ["sternenseemann"]
|
||||
-- @
|
||||
data JobMaintainers = JobMaintainers JobName [Text]
|
||||
deriving stock (Generic, Show)
|
||||
deriving anyclass (FromJSON, ToJSON)
|
||||
|
||||
-- | This is a 'Map' from Hydra job name to maintainer email addresses.
|
||||
--
|
||||
-- It has values similar to the following:
|
||||
--
|
||||
-- @@
|
||||
-- fromList
|
||||
-- [ ("arion.aarch64-linux", Maintainers (Just "robert@example.com"))
|
||||
-- , ("bench.x86_64-linux", Maintainers (Just ""))
|
||||
-- , ("conduit.x86_64-linux", Maintainers (Just "snoy@man.com, web@ber.com"))
|
||||
-- , ("lens.x86_64-darwin", Maintainers (Just "ek@category.com"))
|
||||
-- ]
|
||||
-- @@
|
||||
--
|
||||
-- Note that Hydra jobs without maintainers will have an empty string for the
|
||||
-- maintainer list.
|
||||
type HydraJobs = Map JobName Maintainers
|
||||
-- | Parse the entries produced by @nix-eval-jobs@, discarding all information
|
||||
-- except the name of the job (@attr@) and the @github@ attributes of the
|
||||
-- maintainer objects in @meta.maintainers@.
|
||||
instance FromJSON JobMaintainers where
|
||||
parseJSON = withObject "HydraJob" $ \h -> do
|
||||
jobName <- h .: "attr"
|
||||
maintainers <- (h .: "meta")
|
||||
>>= (withObject "Meta" $ \meta ->
|
||||
meta .: "maintainers"
|
||||
>>= mapM (withObject "Maintainer" $ \mt -> mt .: "github"))
|
||||
pure $ JobMaintainers jobName maintainers
|
||||
|
||||
-- | Map of email addresses to GitHub handles.
|
||||
-- This is built from the file @../../maintainer-list.nix@.
|
||||
--
|
||||
-- It has values similar to the following:
|
||||
--
|
||||
-- @@
|
||||
-- fromList
|
||||
-- [ ("robert@example.com", "rob22")
|
||||
-- , ("ek@category.com", "edkm")
|
||||
-- ]
|
||||
-- @@
|
||||
type EmailToGitHubHandles = Map Text Text
|
||||
|
||||
-- | Map of Hydra jobs to maintainer GitHub handles.
|
||||
-- | Map of maintained Hydra jobs to maintainer GitHub handles.
|
||||
--
|
||||
-- It has values similar to the following:
|
||||
--
|
||||
@@ -331,22 +326,16 @@ calculateReverseDependencies depMap =
|
||||
go pkg = IntSet.unions (oneStep:((resultList IntMap.!) <$> IntSet.toList oneStep))
|
||||
where oneStep = IntMap.findWithDefault mempty pkg oneStepMap
|
||||
|
||||
-- | Generate a mapping of Hydra job names to maintainer GitHub handles. Calls
|
||||
-- hydra-eval-jobs and the nix script ./maintainer-handles.nix.
|
||||
-- | Generate a mapping of Hydra job names to maintainer GitHub handles.
|
||||
getMaintainerMap :: IO MaintainerMap
|
||||
getMaintainerMap = do
|
||||
hydraJobs :: HydraJobs <-
|
||||
readJSONProcess hydraEvalCommand hydraEvalParams "Failed to decode hydra-eval-jobs output: "
|
||||
handlesMap :: EmailToGitHubHandles <-
|
||||
readJSONProcess nixExprCommand ("maintainers/scripts/haskell/maintainer-handles.nix":nixExprParams) "Failed to decode nix output for lookup of github handles: "
|
||||
pure $ Map.mapMaybe (splitMaintainersToGitHubHandles handlesMap) hydraJobs
|
||||
where
|
||||
-- Split a comma-spearated string of Maintainers into a NonEmpty list of
|
||||
-- GitHub handles.
|
||||
splitMaintainersToGitHubHandles
|
||||
:: EmailToGitHubHandles -> Maintainers -> Maybe (NonEmpty Text)
|
||||
splitMaintainersToGitHubHandles handlesMap (Maintainers maint) =
|
||||
nonEmpty . mapMaybe (`Map.lookup` handlesMap) . Text.splitOn ", " $ fromMaybe "" maint
|
||||
getMaintainerMap =
|
||||
readJSONLinesProcess nixEvalJobsCommand nixEvalJobsParams
|
||||
-- we ignore unparseable lines since fromJSON will fail on { "attr": …, "error": … }
|
||||
-- entries since they don't have a @meta@ attribute.
|
||||
<&> rights
|
||||
<&> map (\(JobMaintainers name maintainers) -> (,) name <$> nonEmpty maintainers)
|
||||
<&> catMaybes
|
||||
<&> Map.fromList
|
||||
|
||||
-- | Get the a map of all dependencies of every package by calling the nix
|
||||
-- script ./dependencies.nix.
|
||||
@@ -369,11 +358,23 @@ readJSONProcess
|
||||
-> IO a
|
||||
readJSONProcess exe args err = do
|
||||
output <- readProcess exe args ""
|
||||
let eitherDecodedOutput = eitherDecodeStrict' . encodeUtf8 . Text.pack $ output
|
||||
let eitherDecodedOutput = eitherDecodeStrictText . Text.pack $ output
|
||||
case eitherDecodedOutput of
|
||||
Left decodeErr -> error $ err <> decodeErr <> "\nRaw: '" <> take 1000 output <> "'"
|
||||
Right decodedOutput -> pure decodedOutput
|
||||
|
||||
-- | Run a process that produces many JSON values, one per line.
|
||||
-- Error and success is reported per line via a list of 'Either's.
|
||||
readJSONLinesProcess
|
||||
:: FromJSON a
|
||||
=> FilePath -- ^ Filename of executable.
|
||||
-> [String] -- ^ Arguments
|
||||
-> IO [Either String a]
|
||||
readJSONLinesProcess exe args = do
|
||||
output <- readProcess exe args ""
|
||||
-- TODO: slow, doesn't stream at all
|
||||
pure . map (eitherDecodeStrictText . Text.pack) . lines $ output
|
||||
|
||||
-- BuildStates are sorted by subjective importance/concerningness
|
||||
data BuildState
|
||||
= Failed
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
# Nix script to lookup maintainer github handles from their email address. Used by ./hydra-report.hs.
|
||||
#
|
||||
# This script produces an attr set mapping of email addresses to GitHub handles:
|
||||
#
|
||||
# ```nix
|
||||
# > import ./maintainer-handles.nix
|
||||
# { "cdep.illabout@gmail.com" = "cdepillabout"; "john@smith.com" = "johnsmith"; ... }
|
||||
# ```
|
||||
#
|
||||
# This mapping contains all maintainers in ../../mainatainer-list.nix, but it
|
||||
# ignores maintainers who don't have a GitHub account or an email address.
|
||||
let
|
||||
pkgs = import ../../.. { };
|
||||
maintainers = import ../../maintainer-list.nix;
|
||||
inherit (pkgs) lib;
|
||||
mkMailGithubPair =
|
||||
_: maintainer:
|
||||
if (maintainer ? email) && (maintainer ? github) then
|
||||
{ "${maintainer.email}" = maintainer.github; }
|
||||
else
|
||||
{ };
|
||||
in
|
||||
lib.zipAttrsWith (_: builtins.head) (lib.mapAttrsToList mkMailGithubPair maintainers)
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p coreutils haskellPackages.cabal2nix-unstable git -I nixpkgs=.
|
||||
#! nix-shell -i bash -p coreutils haskellPackages.cabal2nix-unstable.bin git -I nixpkgs=.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p coreutils curl jq gnused haskellPackages.cabal2nix-unstable -I nixpkgs=.
|
||||
#! nix-shell -i bash -p coreutils curl jq gnused haskellPackages.cabal2nix-unstable.bin nix-prefetch-scripts -I nixpkgs=.
|
||||
|
||||
# Updates cabal2nix-unstable to the latest master of the nixos/cabal2nix repository.
|
||||
# See regenerate-hackage-packages.sh for details on the purpose of this script.
|
||||
|
||||
@@ -98,6 +98,7 @@ sed -r \
|
||||
-e '/ ShellCheck /d' \
|
||||
-e '/ Agda /d' \
|
||||
-e '/ stack /d' \
|
||||
-e '/ git-annex /d' \
|
||||
< "${tmpfile_new}" >> $stackage_config
|
||||
# Explanations:
|
||||
# cabal2nix, distribution-nixpkgs, jailbreak-cabal, language-nix: These are our packages and we know what we are doing.
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
stdenv,
|
||||
makeWrapper,
|
||||
haskellPackages,
|
||||
fetchpatch,
|
||||
fetchFromGitHub,
|
||||
# dependencies
|
||||
slither-analyzer,
|
||||
@@ -10,17 +11,26 @@
|
||||
|
||||
haskellPackages.mkDerivation rec {
|
||||
pname = "echidna";
|
||||
version = "2.2.6";
|
||||
version = "2.2.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crytic";
|
||||
repo = "echidna";
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-5nzis7MXOqs0bhx2jrEexjZYZI2qY6D0D7AWO+SPs+A=";
|
||||
sha256 = "sha256-rDtxyUpWfdMvS5BY1y8nydkQk/eCdmtjCqGJ+I4vy0I=";
|
||||
};
|
||||
|
||||
isExecutable = true;
|
||||
|
||||
patches = [
|
||||
# Fix build with GHC 9.10
|
||||
# https://github.com/crytic/echidna/pull/1446
|
||||
(fetchpatch {
|
||||
url = "https://github.com/crytic/echidna/commit/1b498bdb8c86d8297aa34de8f48b6dce2f4dd84d.patch";
|
||||
hash = "sha256-JeKPv2Q2gIt1XpI81XPFu80/x8QcOI4k1QN/mTf+bqk=";
|
||||
})
|
||||
];
|
||||
|
||||
buildTools = with haskellPackages; [
|
||||
hpack
|
||||
];
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenvNoCC.mkDerivation rec {
|
||||
src = fetchurl {
|
||||
name = "hledger-check-fancyassertion-${version}.hs";
|
||||
url = "https://raw.githubusercontent.com/simonmichael/hledger/hledger-lib-${version}/bin/hledger-check-fancyassertions.hs";
|
||||
sha256 = "0lyyz8dqkknd9d073l613kdkaqd9r6ymdw94d7mwp17pxvfr17wf";
|
||||
hash = "sha256-p1JvPHSB5hkfZsTq1sSL0mxCRkhZu1zkpXTELVNFE64=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"commit": "e184dedb360769d6e8e041e711559185f39ab55c",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/e184dedb360769d6e8e041e711559185f39ab55c.tar.gz",
|
||||
"sha256": "16qlwrw96lf52yvmmhfl948wpimbnqm9z87j27agcdmigf5icg1s",
|
||||
"msg": "Update from Hackage at 2025-07-07T21:33:55Z"
|
||||
"commit": "c074fec58a2c83bfb17c273302005fe2625207f1",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/c074fec58a2c83bfb17c273302005fe2625207f1.tar.gz",
|
||||
"sha256": "1my6xrg3m694fr3k5386yx5wqd2j0wdxfx6g3scnh5af0sx2hx0w",
|
||||
"msg": "Update from Hackage at 2025-09-14T21:34:10Z"
|
||||
}
|
||||
|
||||
@@ -66,16 +66,16 @@
|
||||
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic && !isGhcjs,
|
||||
|
||||
# Whether to build terminfo.
|
||||
# FIXME(@sternenseemann): This actually doesn't influence what hadrian does,
|
||||
# just what buildInputs etc. looks like. It would be best if we could actually
|
||||
# tell it what to do like it was possible with make.
|
||||
enableTerminfo ?
|
||||
!(
|
||||
stdenv.targetPlatform.isWindows
|
||||
|| stdenv.targetPlatform.isGhcjs
|
||||
# terminfo can't be built for cross
|
||||
|| (stdenv.buildPlatform != stdenv.hostPlatform)
|
||||
|| (stdenv.hostPlatform != stdenv.targetPlatform)
|
||||
# Before <https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13932>,
|
||||
# we couldn't force hadrian to build terminfo for cross.
|
||||
|| (
|
||||
lib.versionOlder version "9.15.20250808"
|
||||
&& (stdenv.buildPlatform != stdenv.hostPlatform || stdenv.hostPlatform != stdenv.targetPlatform)
|
||||
)
|
||||
),
|
||||
|
||||
# Libdw.c only supports x86_64, i686 and s390x as of 2022-08-04
|
||||
@@ -131,10 +131,12 @@
|
||||
-- no way to set this via the command line
|
||||
finalStage :: Stage
|
||||
finalStage = ${
|
||||
# Always build the stage 2 compiler if possible.
|
||||
# TODO(@sternensemann): unify condition with make-built GHCs
|
||||
if stdenv.hostPlatform.canExecute stdenv.targetPlatform then
|
||||
"Stage2" # native compiler or “native” cross e.g. pkgsStatic
|
||||
# N. B. hadrian ignores this setting if it doesn't agree it's possible,
|
||||
# i.e. when its cross-compiling setting is true. So while we could, in theory,
|
||||
# build Stage2 if hostPlatform.canExecute targetPlatform, hadrian won't play
|
||||
# ball (with make, Stage2 was built if hostPlatform.system == targetPlatform.system).
|
||||
if stdenv.hostPlatform == stdenv.targetPlatform then
|
||||
"Stage2" # native compiler
|
||||
else
|
||||
"Stage1" # cross compiler
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import ./common-hadrian.nix {
|
||||
version = "9.13.20250428";
|
||||
rev = "22d11fa818fae2c95c494fc0fac1f8cb4c6e7cb6";
|
||||
sha256 = "0f3xc4k662yrlx8abqqrbgvwzr0ffnpiw8z4a47nnai4xk5k0wjl";
|
||||
version = "9.15.20250811";
|
||||
rev = "c8d76a2994b8620c54adc2069f4728135d6b5059";
|
||||
sha256 = "001rf9z5a1v2xpm9qjzz2p966m5bxmqcnykq0xgb3qf40vi9rnh4";
|
||||
}
|
||||
|
||||
@@ -53,9 +53,6 @@ self: super:
|
||||
// lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch64 {
|
||||
# AARCH64-SPECIFIC OVERRIDES
|
||||
|
||||
# Corrupted store path https://github.com/NixOS/nixpkgs/pull/272097#issuecomment-1848414265
|
||||
cachix = triggerRebuild 1 super.cachix;
|
||||
|
||||
# Doctests fail on aarch64 due to a GHCi linking bug
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/15275#note_295437
|
||||
# TODO: figure out if needed on aarch32 as well
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -65,6 +65,15 @@ self: super: {
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10
|
||||
os-string = doDistribute self.os-string_1_0_0;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10, no release compatible with GHC < 9.10 is available
|
||||
ghc-internal = null;
|
||||
# Become core packages in GHC >= 9.10, but aren't uploaded to Hackage
|
||||
ghc-toolchain = null;
|
||||
ghc-platform = null;
|
||||
|
||||
# Only required for ghc >= 9.2
|
||||
nothunks = super.nothunks.override {
|
||||
wherefrom-compat = null;
|
||||
@@ -82,18 +91,17 @@ self: super: {
|
||||
|
||||
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
|
||||
primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
|
||||
# For GHC < 9.2, os-string is not required.
|
||||
hashable =
|
||||
# hashable >= 1.5 only supports GHC >= 9.6 / base >= 4.18
|
||||
hashable = self.hashable_1_4_7_0;
|
||||
hashable_1_4_7_0 =
|
||||
# extra deps for GHC < 9.4
|
||||
addBuildDepends
|
||||
[
|
||||
self.data-array-byte
|
||||
self.base-orphans
|
||||
]
|
||||
(
|
||||
super.hashable.override {
|
||||
os-string = null;
|
||||
}
|
||||
);
|
||||
# For GHC < 9.2, os-string is not required
|
||||
(super.hashable_1_4_7_0.override { os-string = null; });
|
||||
|
||||
# Too strict lower bounds on base
|
||||
primitive-addr = doJailbreak super.primitive-addr;
|
||||
@@ -116,7 +124,7 @@ self: super: {
|
||||
(markBroken super.haskell-language-server);
|
||||
|
||||
# test suite depends on vcr since hpack >= 0.38.1 which requires GHC2021
|
||||
hpack_0_38_1 = dontCheck super.hpack_0_38_1;
|
||||
hpack = dontCheck super.hpack;
|
||||
|
||||
# Needs to use ghc-lib due to incompatible GHC
|
||||
ghc-tags = doDistribute self.ghc-tags_1_5;
|
||||
|
||||
@@ -64,51 +64,26 @@ in
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# “Unfortunately we are unable to support GHC 9.10.”
|
||||
apply-refact = dontDistribute (markBroken super.apply-refact);
|
||||
|
||||
#
|
||||
# Version upgrades
|
||||
#
|
||||
|
||||
# Upgrade to accommodate new core library versions, where the authors have
|
||||
# already made the relevant changes.
|
||||
# 2025-04-09: jailbreak to allow hedgehog >= 1.5, hspec-hedgehog >=0.2
|
||||
extensions = doJailbreak (doDistribute self.extensions_0_1_0_2);
|
||||
fourmolu = doDistribute self.fourmolu_0_16_0_0;
|
||||
# https://github.com/digital-asset/ghc-lib/issues/600
|
||||
ghc-lib = doDistribute self.ghc-lib_9_10_2_20250515;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_2_20250515;
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
|
||||
htree = doDistribute self.htree_0_2_0_0;
|
||||
ormolu = doDistribute self.ormolu_0_7_7_0;
|
||||
stylish-haskell = doDistribute self.stylish-haskell_0_15_0_1;
|
||||
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = doDistribute self.ghc-exactprint_1_9_0_0;
|
||||
ghc-exactprint_1_9_0_0 = addBuildDepends [
|
||||
self.Diff
|
||||
self.extra
|
||||
self.ghc-paths
|
||||
self.silently
|
||||
self.syb
|
||||
self.HUnit
|
||||
] super.ghc-exactprint_1_9_0_0;
|
||||
|
||||
#
|
||||
# Jailbreaks
|
||||
#
|
||||
# 2025-04-09: base <4.20, containers <0.7, filepath <1.5, Cabal-syntax <3.11
|
||||
cabal-install-parsers =
|
||||
assert super.cabal-install-parsers.version == "0.6.1.1";
|
||||
doJailbreak super.cabal-install-parsers;
|
||||
floskell = doJailbreak super.floskell; # base <4.20
|
||||
# 2025-04-09: filepath <1.5
|
||||
haddock-library =
|
||||
assert super.haddock-library.version == "1.11.0";
|
||||
doJailbreak super.haddock-library;
|
||||
large-generics = doJailbreak super.large-generics; # base <4.20
|
||||
tree-sitter = doJailbreak super.tree-sitter; # containers <0.7, filepath <1.5
|
||||
|
||||
hashable_1_5_0_0 = doJailbreak super.hashable_1_5_0_0; # relax bounds for QuickCheck, tasty, and tasty-quickcheck
|
||||
|
||||
#
|
||||
# Test suite issues
|
||||
#
|
||||
@@ -116,12 +91,4 @@ in
|
||||
fsnotify = dontCheck super.fsnotify; # https://github.com/haskell-fswatch/hfsnotify/issues/115
|
||||
hinotify = pkgs.haskell.lib.dontCheck super.hinotify; # https://github.com/kolmodin/hinotify/issues/38
|
||||
monad-dijkstra = dontCheck super.monad-dijkstra; # needs hlint 3.10
|
||||
|
||||
haskell-language-server = super.haskell-language-server.override {
|
||||
floskell = null;
|
||||
retrie = null;
|
||||
hlint = null;
|
||||
apply-refact = null;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -71,37 +71,20 @@ with haskellLib;
|
||||
# Hand pick versions that are compatible with ghc 9.12 and base 4.21
|
||||
#
|
||||
|
||||
extra = doDistribute self.extra_1_8;
|
||||
htree = doDistribute self.htree_0_2_0_0;
|
||||
tagged = doDistribute self.tagged_0_8_9;
|
||||
time-compat = doDistribute self.time-compat_1_9_8;
|
||||
extensions = doDistribute self.extensions_0_1_0_3;
|
||||
doctest = doDistribute self.doctest_0_24_2; # see :/doctest_0_24_2 =/ below
|
||||
ghc-syntax-highlighter = doDistribute self.ghc-syntax-highlighter_0_0_13_0;
|
||||
ghc-lib = doDistribute self.ghc-lib_9_12_2_20250421;
|
||||
ghc-exactprint = doDistribute self.ghc-exactprint_1_12_0_0;
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_12_2_20250421;
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_12_0_0;
|
||||
hlint = doDistribute self.hlint_3_10;
|
||||
# fourmolu checks require Diff > 1.0, which is not yet supported by various other deps of hls.
|
||||
fourmolu = doDistribute (dontCheck self.fourmolu_0_18_0_0);
|
||||
ormolu = doDistribute self.ormolu_0_8_0_0;
|
||||
stylish-haskell = doDistribute self.stylish-haskell_0_15_1_0;
|
||||
apply-refact = doDistribute self.apply-refact_0_15_0_0;
|
||||
|
||||
#
|
||||
# Jailbreaks
|
||||
#
|
||||
|
||||
large-generics = doJailbreak super.large-generics; # base <4.20
|
||||
time-compat_1_9_8 = doJailbreak super.time-compat_1_9_8; # too strict lower bound on QuickCheck
|
||||
cpphs = overrideCabal (drv: {
|
||||
# jail break manually the conditional dependencies
|
||||
postPatch = ''
|
||||
sed -i 's/time >=1.5 \&\& <1.13/time >=1.5 \&\& <=1.14/g' cpphs.cabal
|
||||
'';
|
||||
}) super.cpphs;
|
||||
vector = doJailbreak super.vector; # doctest >=0.15 && <0.24
|
||||
cabal-install-parsers = doJailbreak super.cabal-install-parsers; # base, Cabal-syntax, etc.
|
||||
ghc-exactprint_1_12_0_0 = addBuildDepends [
|
||||
# somehow buildDepends was missing
|
||||
@@ -126,15 +109,6 @@ with haskellLib;
|
||||
|
||||
relude = dontCheck super.relude;
|
||||
|
||||
doctest_0_24_2 = overrideCabal (drv: {
|
||||
testFlags = drv.testFlags or [ ] ++ [
|
||||
# These tests require cabal-install (would cause infinite recursion)
|
||||
"--skip=/Cabal.Options"
|
||||
"--skip=/Cabal.Paths/paths"
|
||||
"--skip=/Cabal.ReplOptions" # >= 0.23
|
||||
];
|
||||
}) super.doctest_0_24_2;
|
||||
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/25930
|
||||
generic-lens = dontCheck super.generic-lens;
|
||||
|
||||
@@ -154,27 +128,4 @@ with haskellLib;
|
||||
interpolate =
|
||||
assert super.ghc.version == "9.12.2";
|
||||
dontCheck super.interpolate;
|
||||
|
||||
#
|
||||
# Multiple issues
|
||||
#
|
||||
|
||||
doctest-parallel = overrideCabal (drv: {
|
||||
patches = drv.patches or [ ] ++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "doctest-0.23.0-ghc-9.12.patch";
|
||||
url = "https://github.com/martijnbastiaan/doctest-parallel/commit/d3df7aa5d223f3daeb676c8a7efe093ee743d54f.patch";
|
||||
sha256 = "sha256-92CtqBCulfOTjLAeC205cIrqL/2CBP1YFLijTVcTD2M=";
|
||||
includes = [ "src/Test/DocTest/Helpers.hs" ];
|
||||
})
|
||||
];
|
||||
}) (dontCheck (doJailbreak super.doctest-parallel)); # Cabal >=2.4 && <3.13
|
||||
|
||||
haskell-language-server = super.haskell-language-server.override {
|
||||
floskell = null;
|
||||
retrie = null;
|
||||
};
|
||||
|
||||
# Allow Cabal 3.14
|
||||
hpack = doDistribute self.hpack_0_38_1;
|
||||
}
|
||||
|
||||
+1
-6
@@ -45,12 +45,7 @@ self: super: {
|
||||
stm = null;
|
||||
system-cxx-std-lib = null;
|
||||
template-haskell = null;
|
||||
# GHC only builds terminfo if it is a native compiler
|
||||
terminfo =
|
||||
if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then
|
||||
null
|
||||
else
|
||||
haskellLib.doDistribute self.terminfo_0_4_1_7;
|
||||
terminfo = null;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
@@ -62,9 +62,18 @@ self: super: {
|
||||
# their existence to callPackages, but their is no shim for lower GHC versions.
|
||||
system-cxx-std-lib = null;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10, no release compatible with GHC < 9.10 is available
|
||||
ghc-internal = null;
|
||||
# Become core packages in GHC >= 9.10, but aren't uploaded to Hackage
|
||||
ghc-toolchain = null;
|
||||
ghc-platform = null;
|
||||
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10
|
||||
os-string = doDistribute self.os-string_2_0_8;
|
||||
|
||||
# weeder >= 2.5 requires GHC 9.4
|
||||
weeder = doDistribute self.weeder_2_4_1;
|
||||
# Allow dhall 1.42.*
|
||||
@@ -81,8 +90,10 @@ self: super: {
|
||||
"haskell-language-server has dropped support for ghc 9.2 in version 2.10.0.0, please use a newer ghc version or an older nixpkgs version"
|
||||
(markBroken super.haskell-language-server);
|
||||
|
||||
# hashable >= 1.5 doesn't support base < 4.18
|
||||
hashable = self.hashable_1_4_7_0;
|
||||
# For GHC < 9.4, some packages need data-array-byte as an extra dependency
|
||||
hashable = addBuildDepends [ self.data-array-byte ] super.hashable;
|
||||
hashable_1_4_7_0 = addBuildDepends [ self.data-array-byte ] super.hashable_1_4_7_0;
|
||||
primitive = addBuildDepends [ self.data-array-byte ] super.primitive;
|
||||
primitive-unlifted = super.primitive-unlifted_0_1_3_1;
|
||||
# Too strict lower bound on base
|
||||
|
||||
@@ -54,11 +54,22 @@ self: super: {
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10
|
||||
os-string = doDistribute self.os-string_2_0_8;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10, no release compatible with GHC < 9.10 is available
|
||||
ghc-internal = null;
|
||||
# Become core packages in GHC >= 9.10, but aren't uploaded to Hackage
|
||||
ghc-toolchain = null;
|
||||
ghc-platform = null;
|
||||
|
||||
# only broken for >= 9.6
|
||||
calligraphy = doDistribute (unmarkBroken super.calligraphy);
|
||||
|
||||
# Jailbreaks & Version Updates
|
||||
|
||||
# hashable >= 1.5 needs base >= 4.18
|
||||
hashable = self.hashable_1_4_7_0;
|
||||
hashable-time = doJailbreak super.hashable-time;
|
||||
libmpd = doJailbreak super.libmpd;
|
||||
|
||||
@@ -105,6 +116,10 @@ self: super: {
|
||||
}
|
||||
);
|
||||
|
||||
# Last version to not depend on file-io and directory-ospath-streaming,
|
||||
# which both need unix >= 2.8.
|
||||
tar = self.tar_0_6_3_0;
|
||||
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = super.ghc-exactprint_1_6_1_3;
|
||||
|
||||
|
||||
@@ -62,6 +62,15 @@ in
|
||||
# Becomes a core package in GHC >= 9.8
|
||||
semaphore-compat = doDistribute self.semaphore-compat_1_0_0;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10
|
||||
os-string = doDistribute self.os-string_2_0_8;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10, no release compatible with GHC < 9.10 is available
|
||||
ghc-internal = null;
|
||||
# Become core packages in GHC >= 9.10, but aren't uploaded to Hackage
|
||||
ghc-toolchain = null;
|
||||
ghc-platform = null;
|
||||
|
||||
# Needs base-orphans for GHC < 9.8 / base < 4.19
|
||||
some = addBuildDepend self.base-orphans super.some;
|
||||
|
||||
@@ -188,4 +197,7 @@ in
|
||||
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = addBuildDepend self.extra super.ghc-exactprint_1_7_1_0;
|
||||
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_3_20250912;
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ let
|
||||
ver: pkg:
|
||||
lib.warnIf (lib.versionOlder ver
|
||||
super.${pkg.pname}.version
|
||||
) "override for haskell.packages.ghc912.${pkg.pname} may no longer be needed" pkg;
|
||||
) "override for haskell.packages.ghc98.${pkg.pname} may no longer be needed" pkg;
|
||||
|
||||
in
|
||||
|
||||
@@ -62,10 +62,18 @@ in
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10
|
||||
os-string = doDistribute self.os-string_2_0_8;
|
||||
|
||||
# Becomes a core package in GHC >= 9.10, no release compatible with GHC < 9.10 is available
|
||||
ghc-internal = null;
|
||||
# Become core packages in GHC >= 9.10, but aren't uploaded to Hackage
|
||||
ghc-toolchain = null;
|
||||
ghc-platform = null;
|
||||
|
||||
#
|
||||
# Version upgrades
|
||||
#
|
||||
megaparsec = doDistribute self.megaparsec_9_7_0;
|
||||
ghc-tags = self.ghc-tags_1_8;
|
||||
|
||||
#
|
||||
@@ -93,14 +101,9 @@ in
|
||||
# A factor of 100 is insufficient, 200 seems seems to work.
|
||||
hip = appendConfigureFlag "--ghc-options=-fsimpl-tick-factor=200" super.hip;
|
||||
|
||||
# 2025-04-21: "flavor" for GHC 9.8.5 is missing a fix introduced for 9.8.4. See:
|
||||
# https://github.com/digital-asset/ghc-lib/pull/571#discussion_r2052684630
|
||||
ghc-lib-parser = warnAfterVersion "9.8.5.20250214" (
|
||||
overrideCabal {
|
||||
postPatch = ''
|
||||
substituteInPlace compiler/cbits/genSym.c \
|
||||
--replace-fail "HsWord64 u = atomic_inc64" "HsWord64 u = atomic_inc"
|
||||
'';
|
||||
} super.ghc-lib-parser
|
||||
);
|
||||
# A given major version of ghc-exactprint only supports one version of GHC.
|
||||
ghc-exactprint = doDistribute super.ghc-exactprint_1_8_0_0;
|
||||
|
||||
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_10_3_20250912;
|
||||
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_10_0_0;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -25,20 +25,21 @@
|
||||
# not work.
|
||||
# keep-sorted start skip_lines=1 case=no numeric=yes
|
||||
default-package-overrides:
|
||||
- chs-cabal < 0.1.1.2 # Incompatible with Cabal < 3.12
|
||||
# 2024-12-23: last version to be compatible with Stackage LTS 22/23 (due to data-default)
|
||||
- diagrams-input < 0.1.4
|
||||
- extensions < 0.1.0.2 # Incompatible with Cabal < 3.12, the newest extensions version is only needed on ghc 9.10
|
||||
- chs-cabal == 0.1.1.2 # matches Cabal 3.12 (GHC 9.10)
|
||||
- extensions == 0.1.0.2 # matches Cabal 3.12 (GHC 9.10)
|
||||
# 2025-07-26: HLS doesn't support hiedb >= 0.7 yet
|
||||
- hiedb < 0.7
|
||||
# 2024-08-17: Stackage doesn't contain hnix-store-core >= 0.8 yet, so we need to restrict hnix-store-remote
|
||||
# 2025-09-13: hnix 0.17.0 doesn't support hnix-store-core >= 0.8
|
||||
# https://github.com/haskell-nix/hnix/pull/1112
|
||||
- hnix-store-core < 0.7
|
||||
- hnix-store-remote < 0.7
|
||||
# 2025-01-17: need to match stackage version of hosc
|
||||
- hsc3 < 0.21
|
||||
# 2024-12-31: last version that's compatible with GHC < 9.9
|
||||
- htree < 0.2.0.0
|
||||
# 2025-06-11: last version that supports pandoc == 3.6.* which is prescribed by LTS 23
|
||||
- pandoc-crossref < 0.3.20
|
||||
# 2025-08-03: need to match stackage version of hosc
|
||||
- hsc3 >= 0.21 && < 0.22
|
||||
# liquidhaskell-boot 0.9.10.1.2 requires this specific version of liquid-fixpoint
|
||||
- liquid-fixpoint == 0.9.6.3.2
|
||||
# liquidhaskell(-boot) support one GHC at a time, so we choose the one matching the current GHC (9.10)
|
||||
- liquidhaskell == 0.9.10.*
|
||||
- liquidhaskell-boot == 0.9.10.*
|
||||
# keep-sorted end
|
||||
|
||||
# keep-sorted start skip_lines=1 case=no numeric=yes
|
||||
@@ -47,15 +48,17 @@ extra-packages:
|
||||
- ansi-wl-pprint >= 0.6 && < 0.7 # 2025-07-07: used by gren <= 0.5.4
|
||||
- attoparsec == 0.13.* # 2022-02-23: Needed to compile elm for now
|
||||
- Cabal == 3.10.*
|
||||
- Cabal == 3.12.* # version required for cabal-install and other packages
|
||||
- Cabal == 3.12.*
|
||||
- Cabal == 3.14.*
|
||||
- Cabal == 3.16.* # version required for cabal-install and other packages
|
||||
- cabal-add == 0.1 # 2025-09-09: Only needed for hls 2.11 can be removed once we are past it.
|
||||
- Cabal-syntax == 3.6.* # Dummy package that ensures packages depending on Cabal-syntax can work for Cabal < 3.8
|
||||
- Cabal-syntax == 3.8.* # version required for ormolu and fourmolu on ghc 9.0
|
||||
- Cabal-syntax == 3.10.*
|
||||
- Cabal-syntax == 3.12.* # version required for cabal-install and other packages
|
||||
- commonmark-pandoc < 0.2.3 # 2025-04-06: Needed for pandoc 3.6
|
||||
- extensions == 0.1.0.2 # 2024-10-20: for GHC 9.10/Cabal 3.12
|
||||
- Cabal-syntax == 3.12.*
|
||||
- Cabal-syntax == 3.14.*
|
||||
- Cabal-syntax == 3.16.* # version required for cabal-install and other packages
|
||||
- fourmolu == 0.14.0.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
|
||||
- fourmolu == 0.16.0.0 # 2025-01-27: for ghc 9.10 compat
|
||||
- fsnotify < 0.4 # 2024-04-22: required by spago-0.21
|
||||
- fuzzyset == 0.2.4 # 2023-12-20: Needed for building postgrest > 10
|
||||
- ghc-exactprint == 0.6.* # 2022-12-12: needed for GHC < 9.2
|
||||
@@ -69,14 +72,16 @@ extra-packages:
|
||||
- ghc-lib == 9.10.* # 2024-12-30: preserve for GHC 9.10/ghc-tags 1.9
|
||||
- ghc-lib-parser == 9.2.* # 2022-02-17: preserve for GHC 8.10, 9.0
|
||||
- ghc-lib-parser == 9.6.* # 2024-05-19: preserve for GHC 9.2, 9.4
|
||||
- ghc-lib-parser == 9.10.* # 2024-12-26: preserve for GHC 9.10
|
||||
- ghc-lib-parser == 9.10.* # 2024-12-26: preserve for GHC 9.6, 9.8, 9.10
|
||||
- ghc-lib-parser-ex == 9.2.* # 2022-07-13: preserve for GHC 8.10, 9.0
|
||||
- ghc-lib-parser-ex == 9.6.* # 2024-05-19: preserve for GHC 9.2, 9.4
|
||||
- ghc-lib-parser-ex == 9.10.* # 2024-12-26: preserve for 9.10 HLS
|
||||
- ghc-lib-parser-ex == 9.10.* # 2024-12-26: preserve for GHC 9.6, 9.8, 9.10
|
||||
- ghc-tags == 1.5.* # 2023-02-18: preserve for ghc-lib == 9.2.*
|
||||
- ghc-tags == 1.7.* # 2023-02-18: preserve for ghc-lib == 9.6.*
|
||||
- ghc-tags == 1.8.* # 2023-02-18: preserve for ghc-lib == 9.8.*
|
||||
- ghc-typelits-natnormalise < 0.8 # 2025-09-15: Stackage is stuck at 0.7.10
|
||||
- happy == 1.20.* # for ghc-lib-parser == 9.6.*
|
||||
- hashable < 1.5 # 2025-07-30: hashable >= 1.5 requires GHC >= 9.6
|
||||
- hasql < 1.7 # 2025-01-19: Needed for building postgrest
|
||||
- hasql-dynamic-statements < 0.3.1.6 # 2025-01-19: Needed for building postgrest
|
||||
- hasql-implicits < 0.2 # 2025-01-19: Needed for building postgrest
|
||||
@@ -84,7 +89,6 @@ extra-packages:
|
||||
- hasql-pool < 1.1 # 2025-01-19: Needed for building postgrest
|
||||
- hasql-transaction < 1.1.1 # 2025-01-19: Needed for building postgrest
|
||||
- hlint == 3.6.* # 2025-04-14: needed for hls with ghc-lib-parser 9.6
|
||||
- hnix-store-core < 0.7 # 2023-12-11: required by hnix-store-remote 0.6
|
||||
- hspec-megaparsec == 2.2.0 # 2023-11-18: Latest version compatible with ghc 9.0
|
||||
- language-javascript == 0.7.0.0 # required by purescript
|
||||
- lsp < 2.5 # 2024-07-08: need for koka
|
||||
@@ -93,7 +97,7 @@ extra-packages:
|
||||
- network-run == 0.4.0 # 2024-10-20: for GHC 9.10/network == 3.1.*
|
||||
- ormolu == 0.5.2.0 # 2023-08-08: preserve for ghc 9.0
|
||||
- ormolu == 0.7.2.0 # 2023-11-13: for ghc-lib-parser 9.6 compat
|
||||
- ormolu == 0.7.7.0 # 2025-01-27: for ghc 9.10 compat
|
||||
- os-string == 1.* # 2025-07-30: dummy package we need for pre os-string GHCs
|
||||
- postgresql-binary < 0.14 # 2025-01-19: Needed for building postgrest
|
||||
- primitive-unlifted == 0.1.3.1 # 2024-03-16: preserve for ghc 9.2
|
||||
- retrie < 1.2.0.0 # 2022-12-30: preserve for ghc < 9.2
|
||||
@@ -104,6 +108,9 @@ extra-packages:
|
||||
- stylish-haskell == 0.14.5.0 # 2025-04-14: needed for hls with ghc-lib 9.6
|
||||
- stylish-haskell == 0.15.0.1 # 2025-04-14: needed for hls with ghc-lib 9.10
|
||||
- tar == 0.6.0.0 # 2025-02-08: last version to not require os-string (which can't be built with GHC < 9.2)
|
||||
- tar == 0.6.3.0 # 2025-08-17: last version to not require file-io and directory-ospath-streaming (for GHC < 9.6)
|
||||
- text-builder < 1 # 2025-08-27: Needed for building postgrest
|
||||
- text-builder-dev < 0.4 # 2025-08-27: Needed for building postgrest
|
||||
- text-metrics < 0.3.3 # 2025-02-08: >= 0.3.3 uses GHC2021
|
||||
- versions < 6 # 2024-04-22: required by spago-0.21
|
||||
- weeder == 2.3.* # 2022-05-31: preserve for GHC 9.0.2
|
||||
@@ -143,7 +150,6 @@ package-maintainers:
|
||||
- jsaddle-dom
|
||||
- jsaddle-hello
|
||||
- jsaddle-warp
|
||||
- jsaddle-webkit2gtk
|
||||
- jsaddle-wkwebview
|
||||
- json-sop
|
||||
- large-generics
|
||||
@@ -177,6 +183,12 @@ package-maintainers:
|
||||
- BNFC-meta
|
||||
- alex-meta
|
||||
- happy-meta
|
||||
- liquid-fixpoint
|
||||
- liquidhaskell
|
||||
- liquidhaskell-boot
|
||||
- smtlib-backends
|
||||
- smtlib-backends-process
|
||||
- smtlib-backends-tests
|
||||
- vector-hashtables
|
||||
arturcygan:
|
||||
- hevm
|
||||
@@ -362,6 +374,8 @@ package-maintainers:
|
||||
- pdftotext
|
||||
- warp-systemd
|
||||
- amazonka
|
||||
- libssh2
|
||||
- sitemap
|
||||
ncfavier:
|
||||
- Agda
|
||||
- irc-client
|
||||
@@ -501,6 +515,7 @@ package-maintainers:
|
||||
- regex-rure
|
||||
- jacinda
|
||||
- citeproc
|
||||
- mighttpd2
|
||||
# owothia
|
||||
- irc-client
|
||||
- chatter
|
||||
@@ -913,11 +928,17 @@ dont-distribute-packages:
|
||||
- yices-easy
|
||||
- yices-painless
|
||||
|
||||
# These packages don’t build because they use deprecated libsoup 2.4 versions.
|
||||
- jsaddle-webkit2gtk
|
||||
- gi-javascriptcore4
|
||||
- gi-soup2
|
||||
- gi-webkit2
|
||||
- webkit2gtk3-javascriptcore
|
||||
|
||||
# These packages don’t build because they use deprecated webkit versions.
|
||||
- diagrams-hsqml
|
||||
- dialog
|
||||
- ghcjs-dom-webkit
|
||||
- gi-webkit
|
||||
- hsqml
|
||||
- hsqml-datamodel
|
||||
- hsqml-datamodel-vinyl
|
||||
@@ -927,7 +948,6 @@ dont-distribute-packages:
|
||||
- hsqml-demo-samples
|
||||
- hsqml-morris
|
||||
- hstorchat
|
||||
- jsaddle-webkitgtk
|
||||
- jsc
|
||||
- lambdacat
|
||||
- manatee-all
|
||||
@@ -936,8 +956,6 @@ dont-distribute-packages:
|
||||
- markup-preview
|
||||
- spike
|
||||
- web-browser-in-haskell
|
||||
- webkit
|
||||
- webkitgtk3-javascriptcore
|
||||
- websnap
|
||||
|
||||
# mesos was removed from nixpkgs
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+133
-70
File diff suppressed because it is too large
Load Diff
@@ -123,6 +123,9 @@ builtins.intersectAttrs super {
|
||||
+ drv.preCheck or "";
|
||||
}) super.agda2lagda;
|
||||
|
||||
# Executable is of interest without the closure of the library
|
||||
fix-whitespace = enableSeparateBinOutput super.fix-whitespace;
|
||||
|
||||
# scrypt requires SSE2
|
||||
password = super.password.override (
|
||||
lib.optionalAttrs (!(lib.meta.availableOn pkgs.stdenv.hostPlatform self.scrypt)) {
|
||||
@@ -155,7 +158,13 @@ builtins.intersectAttrs super {
|
||||
# cabal2nix incorrectly resolves this to pkgs.zip (could be improved over there).
|
||||
streamly-zip = super.streamly-zip.override { zip = pkgs.libzip; };
|
||||
|
||||
threadscope = enableSeparateBinOutput super.threadscope;
|
||||
# Requires wrapGAppsHook otherwise we get: https://github.com/haskell/ThreadScope/issues/143
|
||||
# We cannot use enableSeparateBinOutput here since it doesn't work with wrapGAppsHook
|
||||
threadscope = (
|
||||
overrideCabal (drv: {
|
||||
executableToolDepends = (drv.executableToolDepends or [ ]) ++ [ pkgs.wrapGAppsHook3 ];
|
||||
}) super.threadscope
|
||||
);
|
||||
|
||||
# Binary may be used separately for e.g. editor integrations
|
||||
cabal-cargs = enableSeparateBinOutput super.cabal-cargs;
|
||||
@@ -263,7 +272,22 @@ builtins.intersectAttrs super {
|
||||
ormolu = self.generateOptparseApplicativeCompletions [ "ormolu" ] (
|
||||
enableSeparateBinOutput super.ormolu
|
||||
);
|
||||
hnix = self.generateOptparseApplicativeCompletions [ "hnix" ] super.hnix;
|
||||
|
||||
hnix = lib.pipe super.hnix [
|
||||
(self.generateOptparseApplicativeCompletions [ "hnix" ])
|
||||
# For nix-instantiate(1)
|
||||
(addTestToolDepends [ pkgs.nix ])
|
||||
(overrideCabal (drv: {
|
||||
testFlags = drv.testFlags or [ ] ++ [
|
||||
"-p"
|
||||
# Need to connect to the Nix daemon (?)
|
||||
"!(/eval-okay-context-introspection/ || /eval-okay-context/ || /eval-okay-eq-derivations/ || /eval-okay-path/)"
|
||||
];
|
||||
}))
|
||||
];
|
||||
|
||||
# Provides a library and an executable (pretty-derivation)
|
||||
nix-derivation = enableSeparateBinOutput super.nix-derivation;
|
||||
|
||||
# Generate shell completion.
|
||||
cabal2nix = self.generateOptparseApplicativeCompletions [ "cabal2nix" ] super.cabal2nix;
|
||||
@@ -423,6 +447,14 @@ builtins.intersectAttrs super {
|
||||
hasql-pool = dontCheck super.hasql-pool;
|
||||
hasql-transaction = dontCheck super.hasql-transaction;
|
||||
|
||||
# Test dependency tree-sitter-while is not uploaded to Hackage,
|
||||
# so cabal2nix automatically marks it as broken
|
||||
hs-tree-sitter-capi = lib.pipe super.hs-tree-sitter-capi [
|
||||
dontCheck
|
||||
doDistribute
|
||||
unmarkBroken
|
||||
];
|
||||
|
||||
# Avoid compiling twice by providing executable as a separate output (with small closure size),
|
||||
postgres-websockets = lib.pipe super.postgres-websockets [
|
||||
enableSeparateBinOutput
|
||||
@@ -752,6 +784,15 @@ builtins.intersectAttrs super {
|
||||
# Break infinite recursion cycle with criterion and network-uri.
|
||||
js-flot = dontCheck super.js-flot;
|
||||
|
||||
# Test suite unsets PATH, but wants to be able to run `whoami`
|
||||
# https://github.com/stackbuilders/dotenv-hs/commit/6125dc2d260c5042f5416c1431882d1c2c91d3c8#issuecomment-3163926427
|
||||
dotenv = overrideCabal (drv: {
|
||||
postPatch = drv.postPatch or "" + ''
|
||||
substituteInPlace spec/fixtures/.dotenv spec/Configuration/DotenvSpec.hs \
|
||||
--replace-fail "whoami" "$(type -p whoami)"
|
||||
'';
|
||||
}) super.dotenv;
|
||||
|
||||
# Break infinite recursion cycle between QuickCheck and splitmix.
|
||||
splitmix = dontCheck super.splitmix;
|
||||
splitmix_0_1_1 = dontCheck super.splitmix_0_1_1;
|
||||
@@ -774,11 +815,30 @@ builtins.intersectAttrs super {
|
||||
# loc and loc-test depend on each other for testing. Break that infinite cycle:
|
||||
loc-test = super.loc-test.override { loc = dontCheck self.loc; };
|
||||
|
||||
# The test suites try to run the "fixpoint" and "liquid" executables built just
|
||||
# before and fail because the library search paths aren't configured properly.
|
||||
# Also needs https://github.com/ucsd-progsys/liquidhaskell/issues/1038 resolved.
|
||||
liquid-fixpoint = disableSharedExecutables super.liquid-fixpoint;
|
||||
liquidhaskell = dontCheck (disableSharedExecutables super.liquidhaskell);
|
||||
smtlib-backends-process = overrideCabal (drv: {
|
||||
testSystemDepends = (drv.testSystemDepends or [ ]) ++ [ pkgs.z3 ];
|
||||
}) super.smtlib-backends-process;
|
||||
|
||||
# overrideCabal because the tests need to execute the built executable "fixpoint"
|
||||
liquid-fixpoint = overrideCabal (drv: {
|
||||
preCheck = ''
|
||||
export PATH=$PWD/dist/build/fixpoint:$PATH
|
||||
''
|
||||
+ (drv.preCheck or "");
|
||||
testSystemDepends = (drv.testSystemDepends or [ ]) ++ [
|
||||
pkgs.cvc5
|
||||
pkgs.z3
|
||||
];
|
||||
}) super.liquid-fixpoint;
|
||||
|
||||
# overrideCabal because the tests need to execute the built executable "liquid"
|
||||
liquidhaskell = overrideCabal (drv: {
|
||||
preCheck = ''
|
||||
export PATH=$PWD/dist/build/liquid:$PATH
|
||||
''
|
||||
+ (drv.preCheck or "");
|
||||
libraryToolDepends = (drv.libraryToolDepends or [ ]) ++ [ pkgs.z3 ];
|
||||
}) super.liquidhaskell;
|
||||
|
||||
# Break cyclic reference that results in an infinite recursion.
|
||||
partial-semigroup = dontCheck super.partial-semigroup;
|
||||
@@ -1267,22 +1327,7 @@ builtins.intersectAttrs super {
|
||||
# not used to link against by anyone, we can make it’s closure smaller and
|
||||
# add its runtime dependencies in `haskellPackages` (as opposed to cabal2nix).
|
||||
cabal2nix-unstable = overrideCabal (drv: {
|
||||
buildTools = (drv.buildTools or [ ]) ++ [
|
||||
pkgs.buildPackages.makeWrapper
|
||||
];
|
||||
postInstall = ''
|
||||
${drv.postInstall or ""}
|
||||
|
||||
wrapProgram $out/bin/cabal2nix \
|
||||
--prefix PATH ":" "${
|
||||
pkgs.lib.makeBinPath [
|
||||
pkgs.nix
|
||||
pkgs.nix-prefetch-scripts
|
||||
]
|
||||
}"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
passthru = drv.passthru or { } // {
|
||||
updateScript = ../../../maintainers/scripts/haskell/update-cabal2nix-unstable.sh;
|
||||
|
||||
# This is used by regenerate-hackage-packages.nix to supply the configuration
|
||||
@@ -1308,7 +1353,7 @@ builtins.intersectAttrs super {
|
||||
>> "$out"
|
||||
'';
|
||||
};
|
||||
}) (justStaticExecutables super.cabal2nix-unstable);
|
||||
}) (enableSeparateBinOutput super.cabal2nix-unstable);
|
||||
|
||||
# test suite needs local redis daemon
|
||||
nri-redis = dontCheck super.nri-redis;
|
||||
@@ -1714,8 +1759,8 @@ builtins.intersectAttrs super {
|
||||
gi-javascriptcore4
|
||||
gi-javascriptcore6
|
||||
gi-webkit2webextension
|
||||
gi-gtk_4_0_12
|
||||
gi-gdk_4_0_10
|
||||
gi-gtk
|
||||
gi-gdk
|
||||
gi-gdk4
|
||||
gi-gdkx114
|
||||
gi-gtk4
|
||||
@@ -1742,6 +1787,31 @@ builtins.intersectAttrs super {
|
||||
|
||||
jsaddle-warp = addTestToolDepends [ pkgs.nodejs ] super.jsaddle-warp;
|
||||
|
||||
# Hackage tarball doesn't have the executable bits from git repo
|
||||
wai-app-file-cgi = overrideCabal (drv: {
|
||||
preCheck = ''
|
||||
${drv.preCheck or ""}
|
||||
chmod +x test/cgi-bin/*
|
||||
patchShebangs test/cgi-bin
|
||||
'';
|
||||
}) super.wai-app-file-cgi;
|
||||
|
||||
# All flags are off by default
|
||||
mighttpd2 = lib.pipe super.mighttpd2 [
|
||||
# Library shouldn't increase closure size of resulting daemon and utility executables
|
||||
enableSeparateBinOutput
|
||||
# Enable all possible features
|
||||
(enableCabalFlag "dhall")
|
||||
(addBuildDepends [ self.dhall ])
|
||||
(enableCabalFlag "tls")
|
||||
(addBuildDepends [
|
||||
self.warp-tls
|
||||
self.tls
|
||||
])
|
||||
# Can't build quic with Stackage LTS at the moment (random >= 1.3, tls >= 2.1.10)
|
||||
(disableCabalFlag "quic")
|
||||
];
|
||||
|
||||
# Makes the mpi-hs package respect the choice of mpi implementation in Nixpkgs.
|
||||
# Also adds required test dependencies for checks to pass
|
||||
mpi-hs =
|
||||
@@ -1807,47 +1877,29 @@ builtins.intersectAttrs super {
|
||||
|
||||
xmobar = enableSeparateBinOutput super.xmobar;
|
||||
|
||||
# These test cases access the network
|
||||
hpack_0_38_1 = doDistribute (
|
||||
overrideCabal (drv: {
|
||||
testFlags = drv.testFlags or [ ] ++ [
|
||||
"--skip"
|
||||
"/Hpack.Defaults/ensureFile/with 404/does not create any files/"
|
||||
"--skip"
|
||||
"/Hpack.Defaults/ensureFile/downloads file if missing/"
|
||||
"--skip"
|
||||
"/EndToEnd/hpack/defaults/fails if defaults don't exist/"
|
||||
];
|
||||
}) super.hpack_0_38_1
|
||||
);
|
||||
# Combination of library and executable
|
||||
extensions = enableSeparateBinOutput super.extensions;
|
||||
|
||||
# 2024-08-09: Disable some cabal-doctest tests pending further investigation.
|
||||
inherit
|
||||
(lib.mapAttrs (
|
||||
_: doctest:
|
||||
lib.pipe doctest [
|
||||
(overrideCabal (drv: {
|
||||
patches = drv.patches or [ ] ++ [
|
||||
(pkgs.fetchpatch {
|
||||
name = "doctest-0.23.0-ghc-9.12.patch";
|
||||
url = "https://github.com/sol/doctest/commit/77373c5d84cd5e59ea86ec30b9ada874f50fad9e.patch";
|
||||
sha256 = "07dx99lna17fni1ccbklijx1ckkf2p4kk9wvkwib0ihmra70zpn2";
|
||||
includes = [ "test/**" ];
|
||||
})
|
||||
];
|
||||
testFlags = drv.testFlags or [ ] ++ [
|
||||
# These tests require cabal-install (would cause infinite recursion)
|
||||
"--skip=/Cabal.Options"
|
||||
"--skip=/Cabal.Paths/paths"
|
||||
"--skip=/Cabal.ReplOptions" # >= 0.23
|
||||
];
|
||||
}))
|
||||
doDistribute
|
||||
]
|
||||
) { inherit (super) doctest doctest_0_23_0; })
|
||||
doctest
|
||||
doctest_0_23_0
|
||||
;
|
||||
# These test cases access the network
|
||||
hpack = overrideCabal (drv: {
|
||||
testFlags = drv.testFlags or [ ] ++ [
|
||||
"--skip"
|
||||
"/Hpack.Defaults/ensureFile/with 404/does not create any files/"
|
||||
"--skip"
|
||||
"/Hpack.Defaults/ensureFile/downloads file if missing/"
|
||||
"--skip"
|
||||
"/EndToEnd/hpack/defaults/fails if defaults don't exist/"
|
||||
];
|
||||
}) super.hpack;
|
||||
|
||||
doctest = overrideCabal (drv: {
|
||||
testFlags = drv.testFlags or [ ] ++ [
|
||||
# These tests require cabal-install (would cause infinite recursion)
|
||||
"--skip=/Cabal.Options"
|
||||
"--skip=/Cabal.Paths/paths"
|
||||
"--skip=/Cabal.ReplOptions" # >= 0.23
|
||||
];
|
||||
}) super.doctest;
|
||||
|
||||
# tracked upstream: https://github.com/snapframework/openssl-streams/pull/11
|
||||
# certificate used only 1024 Bit RSA key and SHA-1, which is not allowed in OpenSSL 3.1+
|
||||
|
||||
+11076
-12609
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
||||
--- a/cabal-install.cabal
|
||||
+++ b/cabal-install.cabal
|
||||
@@ -261,7 +261,7 @@
|
||||
-- newer directory for symlinks
|
||||
build-depends: Win32 >= 2.8 && < 3, directory >=1.3.1.0
|
||||
else
|
||||
- build-depends: unix >= 2.5 && < 2.8 || >= 2.8.6.0 && < 2.9
|
||||
+ build-depends: unix >= 2.5 && < 2.9
|
||||
|
||||
if flag(lukko)
|
||||
build-depends: lukko >= 0.1 && <0.2
|
||||
@@ -0,0 +1,11 @@
|
||||
--- a/cabal-install.cabal
|
||||
+++ b/cabal-install.cabal
|
||||
@@ -275,7 +275,7 @@
|
||||
, directory >=1.3.1.0
|
||||
else
|
||||
build-depends:
|
||||
- , unix >= 2.5 && < 2.8 || >= 2.8.6.0 && < 2.9
|
||||
+ , unix >= 2.5 && < 2.9
|
||||
|
||||
if flag(lukko)
|
||||
build-depends:
|
||||
@@ -0,0 +1,24 @@
|
||||
diff -rN -u old-darcs.net/darcs.cabal new-darcs.net/darcs.cabal
|
||||
--- old-darcs.net/darcs.cabal 2025-09-13 02:45:32.790227974 +0200
|
||||
+++ new-darcs.net/darcs.cabal 2025-09-13 02:45:32.791227985 +0200
|
||||
@@ -124,7 +124,7 @@
|
||||
|
||||
custom-setup
|
||||
setup-depends: base >= 4.10 && < 4.20,
|
||||
- Cabal >= 2.4 && < 3.11,
|
||||
+ Cabal >= 2.4 && < 3.13,
|
||||
process >= 1.2.3.0 && < 1.7,
|
||||
filepath >= 1.4.1 && < 1.5.0.0,
|
||||
directory >= 1.2.7 && < 1.4
|
||||
diff -rN -u old-darcs.net/Setup.hs new-darcs.net/Setup.hs
|
||||
--- old-darcs.net/Setup.hs 2025-09-13 02:45:32.789227964 +0200
|
||||
+++ new-darcs.net/Setup.hs 2025-09-13 02:45:32.790227974 +0200
|
||||
@@ -8,7 +8,7 @@
|
||||
import Distribution.Package ( packageVersion )
|
||||
import Distribution.Version( Version )
|
||||
import Distribution.Simple.LocalBuildInfo
|
||||
- ( LocalBuildInfo(..), absoluteInstallDirs )
|
||||
+ ( LocalBuildInfo(..), absoluteInstallDirs, buildDir )
|
||||
import Distribution.Simple.InstallDirs (mandir, CopyDest (NoCopyDest))
|
||||
import Distribution.Simple.Setup
|
||||
(buildVerbosity, copyDest, copyVerbosity, fromFlag,
|
||||
@@ -0,0 +1,32 @@
|
||||
diff -rN -u old-darcs.net/darcs.cabal new-darcs.net/darcs.cabal
|
||||
--- old-darcs.net/darcs.cabal 2025-09-13 02:46:05.662572580 +0200
|
||||
+++ new-darcs.net/darcs.cabal 2025-09-13 02:46:05.748573468 +0200
|
||||
@@ -123,7 +123,7 @@
|
||||
-- ----------------------------------------------------------------------
|
||||
|
||||
custom-setup
|
||||
- setup-depends: base >= 4.10 && < 4.20,
|
||||
+ setup-depends: base >= 4.10 && < 4.21,
|
||||
Cabal >= 2.4 && < 3.13,
|
||||
process >= 1.2.3.0 && < 1.7,
|
||||
filepath >= 1.4.1 && < 1.5.0.0,
|
||||
@@ -412,7 +412,7 @@
|
||||
else
|
||||
build-depends: unix >= 2.7.1.0 && < 2.9
|
||||
|
||||
- build-depends: base >= 4.10 && < 4.20,
|
||||
+ build-depends: base >= 4.10 && < 4.21,
|
||||
safe >= 0.3.20 && < 0.4,
|
||||
stm >= 2.1 && < 2.6,
|
||||
binary >= 0.5 && < 0.11,
|
||||
@@ -447,7 +447,7 @@
|
||||
temporary >= 1.2.1 && < 1.4,
|
||||
process >= 1.2.3.0 && < 1.7,
|
||||
array >= 0.5.1.0 && < 0.6,
|
||||
- hashable >= 1.2.3.3 && < 1.5,
|
||||
+ hashable >= 1.2.3.3 && < 1.6,
|
||||
mmap >= 0.5.9 && < 0.6,
|
||||
zlib >= 0.6.1.2 && < 0.8,
|
||||
network-uri >= 2.6 && < 2.8,
|
||||
|
||||
|
||||
@@ -1,255 +0,0 @@
|
||||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
async,
|
||||
attoparsec,
|
||||
base,
|
||||
base64-bytestring,
|
||||
bifunctors,
|
||||
binary,
|
||||
binary-conduit,
|
||||
boost,
|
||||
bytestring,
|
||||
Cabal,
|
||||
cabal-pkg-config-version-hook,
|
||||
cachix,
|
||||
cachix-api,
|
||||
conduit,
|
||||
conduit-extra,
|
||||
containers,
|
||||
directory,
|
||||
dlist,
|
||||
exceptions,
|
||||
file-embed,
|
||||
filepath,
|
||||
hercules-ci-api,
|
||||
hercules-ci-api-agent,
|
||||
hercules-ci-api-core,
|
||||
hercules-ci-cnix-expr,
|
||||
hercules-ci-cnix-store,
|
||||
hostname,
|
||||
hspec,
|
||||
hspec-discover,
|
||||
http-client,
|
||||
http-client-tls,
|
||||
http-conduit,
|
||||
HUnit,
|
||||
inline-c,
|
||||
inline-c-cpp,
|
||||
katip,
|
||||
lens,
|
||||
lens-aeson,
|
||||
lib,
|
||||
lifted-async,
|
||||
lifted-base,
|
||||
monad-control,
|
||||
mtl,
|
||||
network,
|
||||
network-uri,
|
||||
nix,
|
||||
optparse-applicative,
|
||||
process,
|
||||
process-extras,
|
||||
profunctors,
|
||||
protolude,
|
||||
QuickCheck,
|
||||
safe-exceptions,
|
||||
scientific,
|
||||
servant,
|
||||
servant-auth-client,
|
||||
servant-client,
|
||||
servant-client-core,
|
||||
stm,
|
||||
tagged,
|
||||
temporary,
|
||||
text,
|
||||
time,
|
||||
tls,
|
||||
tomland,
|
||||
transformers,
|
||||
transformers-base,
|
||||
unbounded-delays,
|
||||
unix,
|
||||
unliftio,
|
||||
unliftio-core,
|
||||
unordered-containers,
|
||||
uuid,
|
||||
vector,
|
||||
websockets,
|
||||
wuss,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hercules-ci-agent";
|
||||
version = "0.10.6";
|
||||
sha256 = "5551c8eda390b48da6801f8f8580dc770e6e2fa2adf467ea7afd174748816fd6";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
setupHaskellDepends = [
|
||||
base
|
||||
Cabal
|
||||
cabal-pkg-config-version-hook
|
||||
];
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
async
|
||||
base
|
||||
binary
|
||||
binary-conduit
|
||||
bytestring
|
||||
conduit
|
||||
containers
|
||||
directory
|
||||
dlist
|
||||
exceptions
|
||||
file-embed
|
||||
filepath
|
||||
hercules-ci-api-agent
|
||||
hercules-ci-api-core
|
||||
hercules-ci-cnix-expr
|
||||
hercules-ci-cnix-store
|
||||
katip
|
||||
lens
|
||||
lens-aeson
|
||||
lifted-async
|
||||
lifted-base
|
||||
monad-control
|
||||
mtl
|
||||
network
|
||||
network-uri
|
||||
process
|
||||
process-extras
|
||||
protolude
|
||||
safe-exceptions
|
||||
stm
|
||||
tagged
|
||||
temporary
|
||||
text
|
||||
time
|
||||
tls
|
||||
transformers
|
||||
transformers-base
|
||||
unbounded-delays
|
||||
unix
|
||||
unliftio
|
||||
unliftio-core
|
||||
uuid
|
||||
vector
|
||||
websockets
|
||||
wuss
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
aeson
|
||||
async
|
||||
attoparsec
|
||||
base
|
||||
base64-bytestring
|
||||
bifunctors
|
||||
binary
|
||||
binary-conduit
|
||||
bytestring
|
||||
cachix
|
||||
cachix-api
|
||||
conduit
|
||||
conduit-extra
|
||||
containers
|
||||
directory
|
||||
dlist
|
||||
exceptions
|
||||
filepath
|
||||
hercules-ci-api
|
||||
hercules-ci-api-agent
|
||||
hercules-ci-api-core
|
||||
hercules-ci-cnix-expr
|
||||
hercules-ci-cnix-store
|
||||
hostname
|
||||
http-client
|
||||
http-client-tls
|
||||
http-conduit
|
||||
inline-c
|
||||
inline-c-cpp
|
||||
katip
|
||||
lens
|
||||
lens-aeson
|
||||
lifted-async
|
||||
lifted-base
|
||||
monad-control
|
||||
mtl
|
||||
network
|
||||
network-uri
|
||||
optparse-applicative
|
||||
process
|
||||
process-extras
|
||||
profunctors
|
||||
protolude
|
||||
safe-exceptions
|
||||
scientific
|
||||
servant
|
||||
servant-auth-client
|
||||
servant-client
|
||||
servant-client-core
|
||||
stm
|
||||
temporary
|
||||
text
|
||||
time
|
||||
tomland
|
||||
transformers
|
||||
transformers-base
|
||||
unix
|
||||
unliftio
|
||||
unliftio-core
|
||||
unordered-containers
|
||||
uuid
|
||||
vector
|
||||
websockets
|
||||
wuss
|
||||
];
|
||||
executableSystemDepends = [ boost ];
|
||||
executablePkgconfigDepends = [ nix ];
|
||||
testHaskellDepends = [
|
||||
aeson
|
||||
async
|
||||
attoparsec
|
||||
base
|
||||
bifunctors
|
||||
binary
|
||||
binary-conduit
|
||||
bytestring
|
||||
conduit
|
||||
containers
|
||||
exceptions
|
||||
filepath
|
||||
hercules-ci-api-agent
|
||||
hercules-ci-api-core
|
||||
hercules-ci-cnix-store
|
||||
hspec
|
||||
HUnit
|
||||
katip
|
||||
lens
|
||||
lens-aeson
|
||||
lifted-async
|
||||
lifted-base
|
||||
monad-control
|
||||
mtl
|
||||
process
|
||||
profunctors
|
||||
protolude
|
||||
QuickCheck
|
||||
safe-exceptions
|
||||
scientific
|
||||
stm
|
||||
tagged
|
||||
temporary
|
||||
text
|
||||
tomland
|
||||
transformers
|
||||
transformers-base
|
||||
unliftio-core
|
||||
unordered-containers
|
||||
uuid
|
||||
vector
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
homepage = "https://docs.hercules-ci.com";
|
||||
description = "Runs Continuous Integration tasks on your machines";
|
||||
license = lib.licenses.asl20;
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
{
|
||||
mkDerivation,
|
||||
aeson,
|
||||
base,
|
||||
boost,
|
||||
bytestring,
|
||||
Cabal,
|
||||
cabal-pkg-config-version-hook,
|
||||
conduit,
|
||||
containers,
|
||||
directory,
|
||||
exceptions,
|
||||
filepath,
|
||||
hercules-ci-cnix-store,
|
||||
hspec,
|
||||
hspec-discover,
|
||||
inline-c,
|
||||
inline-c-cpp,
|
||||
lib,
|
||||
nix,
|
||||
process,
|
||||
protolude,
|
||||
QuickCheck,
|
||||
scientific,
|
||||
temporary,
|
||||
text,
|
||||
unliftio,
|
||||
unordered-containers,
|
||||
vector,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hercules-ci-cnix-expr";
|
||||
version = "0.4.0.0";
|
||||
sha256 = "ba6dadda0a14e456780df018a610209ef288ed6562ad5843cb8d19d38fc026ed";
|
||||
setupHaskellDepends = [
|
||||
base
|
||||
Cabal
|
||||
cabal-pkg-config-version-hook
|
||||
];
|
||||
libraryHaskellDepends = [
|
||||
aeson
|
||||
base
|
||||
bytestring
|
||||
conduit
|
||||
containers
|
||||
directory
|
||||
exceptions
|
||||
filepath
|
||||
hercules-ci-cnix-store
|
||||
inline-c
|
||||
inline-c-cpp
|
||||
protolude
|
||||
scientific
|
||||
text
|
||||
unliftio
|
||||
unordered-containers
|
||||
vector
|
||||
];
|
||||
librarySystemDepends = [ boost ];
|
||||
libraryPkgconfigDepends = [ nix ];
|
||||
testHaskellDepends = [
|
||||
aeson
|
||||
base
|
||||
bytestring
|
||||
containers
|
||||
filepath
|
||||
hercules-ci-cnix-store
|
||||
hspec
|
||||
process
|
||||
protolude
|
||||
QuickCheck
|
||||
scientific
|
||||
temporary
|
||||
text
|
||||
unordered-containers
|
||||
vector
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
homepage = "https://docs.hercules-ci.com";
|
||||
description = "Bindings for the Nix evaluator";
|
||||
license = lib.licenses.asl20;
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
{
|
||||
mkDerivation,
|
||||
base,
|
||||
boost,
|
||||
bytestring,
|
||||
Cabal,
|
||||
cabal-pkg-config-version-hook,
|
||||
conduit,
|
||||
containers,
|
||||
exceptions,
|
||||
hspec,
|
||||
hspec-discover,
|
||||
inline-c,
|
||||
inline-c-cpp,
|
||||
lib,
|
||||
nix,
|
||||
protolude,
|
||||
template-haskell,
|
||||
temporary,
|
||||
text,
|
||||
unix,
|
||||
unliftio-core,
|
||||
vector,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hercules-ci-cnix-store";
|
||||
version = "0.3.7.0";
|
||||
sha256 = "6feba2a6e1a267bc69b67962ed6eaa3510b1ae31c411fdb4e6670763d175d3b1";
|
||||
setupHaskellDepends = [
|
||||
base
|
||||
Cabal
|
||||
cabal-pkg-config-version-hook
|
||||
];
|
||||
libraryHaskellDepends = [
|
||||
base
|
||||
bytestring
|
||||
conduit
|
||||
containers
|
||||
inline-c
|
||||
inline-c-cpp
|
||||
protolude
|
||||
template-haskell
|
||||
unix
|
||||
unliftio-core
|
||||
vector
|
||||
];
|
||||
librarySystemDepends = [ boost ];
|
||||
libraryPkgconfigDepends = [ nix ];
|
||||
testHaskellDepends = [
|
||||
base
|
||||
bytestring
|
||||
containers
|
||||
exceptions
|
||||
hspec
|
||||
inline-c
|
||||
inline-c-cpp
|
||||
protolude
|
||||
temporary
|
||||
text
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
homepage = "https://docs.hercules-ci.com";
|
||||
description = "Haskell bindings for Nix's libstore";
|
||||
license = lib.licenses.asl20;
|
||||
}
|
||||
@@ -19,13 +19,13 @@
|
||||
}:
|
||||
mkDerivation rec {
|
||||
pname = "changelog-d";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "fgaz";
|
||||
repo = "changelog-d";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-4TbZD4pXP/5q+t3rTcdCsY5APWIcxhCMM+WsNO/6ke4=";
|
||||
hash = "sha256-nPvuAkcFfK/NKXNBv8D2ePnB88WnjvmAIbzQHVvEXtk=";
|
||||
};
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
mkDerivation,
|
||||
base,
|
||||
fetchFromGitHub,
|
||||
fetchgit,
|
||||
lib,
|
||||
prettyprinter,
|
||||
prettyprinter-ansi-terminal,
|
||||
@@ -9,16 +9,15 @@
|
||||
QuickCheck,
|
||||
text,
|
||||
transformers,
|
||||
transformers-compat,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "hercules-ci-optparse-applicative";
|
||||
version = "0.18.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hercules-ci";
|
||||
repo = "optparse-applicative";
|
||||
sha256 = "1cgxc80zfgzk4rrhspnlj7790jb0ddq7ybj7qjan5xmjjir90763";
|
||||
rev = "a123939663ba1cd0f1750343f1c6b9864ac21207";
|
||||
version = "0.19.0.0";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/hercules-ci/optparse-applicative.git";
|
||||
sha256 = "068rsq9j0afrywbcqf6vg4ivfxbb68ab7f0lvg1na81mfn7sfakk";
|
||||
rev = "b55bb38a2aea0cf776aec707cdce7c7418146077";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
libraryHaskellDepends = [
|
||||
base
|
||||
@@ -27,7 +26,6 @@ mkDerivation {
|
||||
process
|
||||
text
|
||||
transformers
|
||||
transformers-compat
|
||||
];
|
||||
testHaskellDepends = [
|
||||
base
|
||||
@@ -36,5 +34,5 @@ mkDerivation {
|
||||
homepage = "https://github.com/hercules-ci/optparse-applicative";
|
||||
description = "Utilities and combinators for parsing command line options (fork)";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ roberth ];
|
||||
maintainers = [ lib.maintainers.roberth ];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# See also ./make-hadria.nix
|
||||
# See also ./make-hadrian.nix
|
||||
{
|
||||
mkDerivation,
|
||||
base,
|
||||
@@ -24,6 +24,8 @@
|
||||
# GHC source tree to build hadrian from
|
||||
ghcSrc,
|
||||
ghcVersion,
|
||||
# GHC we are using to bootstrap hadrian (stage0)
|
||||
bootGhcVersion,
|
||||
# Customization
|
||||
userSettings ? null,
|
||||
}:
|
||||
@@ -48,12 +50,19 @@ mkDerivation {
|
||||
"-O0"
|
||||
];
|
||||
jailbreak =
|
||||
# Ignore lower bound on directory. Upstream uses this to avoid a race condition
|
||||
# Ignore bound directory >= 1.3.9.0, unless the bootstrapping GHC ships it
|
||||
# which is the case for >= 9.12. Upstream uses this to avoid a race condition
|
||||
# that only seems to affect Windows. We never build GHC natively on Windows.
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/24382
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/commit/a2c033cf82635c83f3107706634bebee43297b99
|
||||
(lib.versionAtLeast ghcVersion "9.6.7" && lib.versionOlder ghcVersion "9.7")
|
||||
|| (lib.versionAtLeast ghcVersion "9.12" && lib.versionOlder ghcVersion "9.15");
|
||||
# See also https://gitlab.haskell.org/ghc/ghc/-/issues/24382,
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/commit/a2c033cf826,
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/commit/7890f2d8526…
|
||||
(
|
||||
lib.versionOlder bootGhcVersion "9.12"
|
||||
&& (
|
||||
(lib.versionAtLeast ghcVersion "9.6.7" && lib.versionOlder ghcVersion "9.7")
|
||||
|| lib.versionAtLeast ghcVersion "9.11"
|
||||
)
|
||||
);
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = [
|
||||
|
||||
@@ -55,6 +55,8 @@ in
|
||||
callPackage' ./hadrian.nix (
|
||||
{
|
||||
inherit userSettings;
|
||||
# Taking `ghc` as an input may be too confusing
|
||||
bootGhcVersion = bootPkgs.ghc.version;
|
||||
}
|
||||
// lib.optionalAttrs (lib.versionAtLeast ghcVersion "9.9") {
|
||||
# Starting with GHC 9.9 development, additional in tree packages are required
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p cabal2nix curl jq haskellPackages.cabal2nix-unstable -I nixpkgs=.
|
||||
#!nix-shell -i bash -p curl jq haskellPackages.cabal2nix-unstable.bin nix-prefetch-scripts -I nixpkgs=.
|
||||
#
|
||||
# This script will update the spago derivation to the latest version using
|
||||
# cabal2nix.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
writeText,
|
||||
srcOnly,
|
||||
haskellPackages,
|
||||
cabal-install,
|
||||
}:
|
||||
@@ -20,9 +21,9 @@
|
||||
sourceRoot=$(pwd)/scratch
|
||||
mkdir -p "$sourceRoot"
|
||||
cd "$sourceRoot"
|
||||
tar -xf ${haskellPackages.constraints.src}
|
||||
tar -xf ${haskellPackages.cereal.src}
|
||||
cp ${writeText "cabal.project" "packages: constraints* cereal*"} cabal.project
|
||||
cp -r "${srcOnly haskellPackages.constraints}" constraints
|
||||
cp -r "${srcOnly haskellPackages.cereal}" cereal
|
||||
cp ${writeText "cabal.project" "packages: constraints cereal"} cabal.project
|
||||
'';
|
||||
buildPhase = ''
|
||||
export HOME=$(mktemp -d)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/*
|
||||
If user need access to more haskell package for building his
|
||||
diagrams, he simply has to pass these package through the
|
||||
extra packages function as follow in `config.nix`:
|
||||
If a user needs access to more haskell packages for building their
|
||||
diagrams, they simply have to pass these packages through the
|
||||
extraPackages function, as follows:
|
||||
|
||||
~~~
|
||||
diagrams-builder.override {
|
||||
extraPackages = self : [myHaskellPackage];
|
||||
extraPackages = self: [ self.myHaskellPackage ];
|
||||
}
|
||||
~~~
|
||||
*/
|
||||
@@ -25,27 +25,37 @@ let
|
||||
wrappedGhc = ghcWithPackages (self: [ diagrams-builder ] ++ extraPackages self);
|
||||
ghc = lib.getExe' wrappedGhc "ghc";
|
||||
|
||||
exeWrapper = backend: ''
|
||||
makeWrapper \
|
||||
"${diagrams-builder}/bin/diagrams-builder-${backend}" "$out/bin/diagrams-builder-${backend}" \
|
||||
--set NIX_GHC ${ghc} \
|
||||
--set NIX_GHC_LIBDIR "$(${ghc} --print-libdir)"
|
||||
'';
|
||||
exeWrapper =
|
||||
backend:
|
||||
let
|
||||
exe = "${diagrams-builder}/bin/diagrams-builder-${backend}";
|
||||
in
|
||||
''
|
||||
test ! -x "${exe}" || \
|
||||
makeWrapper "${exe}" \
|
||||
"$out/bin/diagrams-builder-${backend}" \
|
||||
--set NIX_GHC ${ghc} \
|
||||
--set NIX_GHC_LIBDIR "$(${ghc} --print-libdir)"
|
||||
'';
|
||||
|
||||
backends = [
|
||||
# Needs to match executable, suffix, not flag name
|
||||
allBackends = [
|
||||
"svg"
|
||||
"cairo"
|
||||
"ps"
|
||||
"cairo"
|
||||
"rasterific"
|
||||
"pgf"
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "diagrams-builder";
|
||||
pname = "diagrams-builder";
|
||||
inherit (diagrams-builder) version;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildCommand = lib.concatStringsSep "\n" (map exeWrapper backends);
|
||||
buildCommand = lib.concatStringsSep "\n" (map exeWrapper allBackends);
|
||||
|
||||
# Will be faster to build the wrapper locally then to fetch it from a binary cache.
|
||||
preferLocalBuild = true;
|
||||
|
||||
@@ -5082,24 +5082,18 @@ with pkgs;
|
||||
|
||||
haskell = recurseIntoAttrs (callPackage ./haskell-packages.nix { });
|
||||
|
||||
haskellPackages =
|
||||
recurseIntoAttrs
|
||||
# Prefer native-bignum to avoid linking issues with gmp
|
||||
# GHC 9.6 rts can't be built statically with hadrian, so we need to use 9.4
|
||||
# until 9.8 is ready
|
||||
(
|
||||
if stdenv.hostPlatform.isStatic then
|
||||
haskell.packages.native-bignum.ghc94
|
||||
# JS backend can't use gmp
|
||||
else if stdenv.hostPlatform.isGhcjs then
|
||||
haskell.packages.native-bignum.ghc98
|
||||
# ICEs horribly on i686, see https://gitlab.haskell.org/ghc/ghc/-/issues/25904
|
||||
# FIXME: remove when fixed
|
||||
else if stdenv.hostPlatform.isi686 then
|
||||
haskell.packages.ghc96
|
||||
else
|
||||
haskell.packages.ghc98
|
||||
);
|
||||
haskellPackages = recurseIntoAttrs (
|
||||
# Prefer native-bignum to avoid linking issues with gmp;
|
||||
# TemplateHaskell doesn't work with hadrian built GHCs yet
|
||||
# https://github.com/NixOS/nixpkgs/issues/275304
|
||||
if stdenv.hostPlatform.isStatic then
|
||||
haskell.packages.native-bignum.ghc94
|
||||
# JS backend can't use gmp
|
||||
else if stdenv.hostPlatform.isGhcjs then
|
||||
haskell.packages.native-bignum.ghc910
|
||||
else
|
||||
haskell.packages.ghc910
|
||||
);
|
||||
|
||||
# haskellPackages.ghc is build->host (it exposes the compiler used to build the
|
||||
# set, similarly to stdenv.cc), but pkgs.ghc should be host->target to be more
|
||||
@@ -5110,21 +5104,17 @@ with pkgs;
|
||||
# however, targetPackages won't be populated, so we need to fall back to the
|
||||
# plain, cross-compiled compiler (which is only theoretical at the moment).
|
||||
ghc =
|
||||
targetPackages.haskellPackages.ghc or
|
||||
# Prefer native-bignum to avoid linking issues with gmp
|
||||
# Use 9.4 for static over broken 9.6
|
||||
(
|
||||
targetPackages.haskellPackages.ghc or (
|
||||
# Prefer native-bignum to avoid linking issues with gmp;
|
||||
# TemplateHaskell doesn't work with hadrian built GHCs yet
|
||||
# https://github.com/NixOS/nixpkgs/issues/275304
|
||||
if stdenv.targetPlatform.isStatic then
|
||||
haskell.compiler.native-bignum.ghc94
|
||||
# JS backend can't use GMP
|
||||
else if stdenv.targetPlatform.isGhcjs then
|
||||
haskell.compiler.native-bignum.ghc98
|
||||
# ICEs horribly on i686, see https://gitlab.haskell.org/ghc/ghc/-/issues/25904
|
||||
# FIXME: remove when fixed
|
||||
else if stdenv.hostPlatform.isi686 then
|
||||
haskell.compiler.ghc96
|
||||
haskell.compiler.native-bignum.ghc910
|
||||
else
|
||||
haskell.compiler.ghc98
|
||||
haskell.compiler.ghc910
|
||||
);
|
||||
|
||||
alex = haskell.lib.compose.justStaticExecutables haskellPackages.alex;
|
||||
@@ -14953,7 +14943,7 @@ with pkgs;
|
||||
|
||||
nix-delegate = haskell.lib.compose.justStaticExecutables haskellPackages.nix-delegate;
|
||||
nix-deploy = haskell.lib.compose.justStaticExecutables haskellPackages.nix-deploy;
|
||||
nix-derivation = haskell.lib.compose.justStaticExecutables haskellPackages.nix-derivation;
|
||||
nix-derivation = haskellPackages.nix-derivation.bin;
|
||||
nix-diff = haskell.lib.compose.justStaticExecutables haskellPackages.nix-diff;
|
||||
|
||||
nix-info = callPackage ../tools/nix/info { };
|
||||
|
||||
@@ -316,7 +316,7 @@ in
|
||||
ghcHEAD = callPackage ../development/haskell-modules {
|
||||
buildHaskellPackages = bh.packages.ghcHEAD;
|
||||
ghc = bh.compiler.ghcHEAD;
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.14.x.nix { };
|
||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.16.x.nix { };
|
||||
};
|
||||
|
||||
native-bignum =
|
||||
|
||||
@@ -68,6 +68,7 @@ let
|
||||
ghc984
|
||||
ghc9101
|
||||
ghc9102
|
||||
ghc9103
|
||||
# exclude ghc9121 due to severe miscompilation bug
|
||||
ghc9122
|
||||
];
|
||||
@@ -349,8 +350,7 @@ let
|
||||
uusi
|
||||
uqm
|
||||
uuagc
|
||||
# vaultenv: broken by connection on 2024-03-16
|
||||
wstunnel
|
||||
vaultenv
|
||||
xmobar
|
||||
xmonadctl
|
||||
xmonad-with-packages
|
||||
@@ -431,8 +431,8 @@ let
|
||||
;
|
||||
};
|
||||
|
||||
haskell.packages.native-bignum.ghc984 = {
|
||||
inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc984)
|
||||
haskell.packages.native-bignum.ghc9103 = {
|
||||
inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc9103)
|
||||
hello
|
||||
random
|
||||
QuickCheck
|
||||
@@ -477,14 +477,6 @@ let
|
||||
;
|
||||
};
|
||||
|
||||
haskell.packages.ghc98 = {
|
||||
inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskell.packages.ghc98)
|
||||
ghc
|
||||
hello
|
||||
microlens
|
||||
;
|
||||
};
|
||||
|
||||
haskell.packages.ghc912 = {
|
||||
inherit (packagePlatforms pkgs.pkgsCross.ghcjs.haskell.packages.ghc912)
|
||||
ghc
|
||||
@@ -554,6 +546,7 @@ let
|
||||
] released;
|
||||
Cabal_3_12_1_0 = released;
|
||||
Cabal_3_14_2_0 = released;
|
||||
Cabal_3_16_0_0 = released;
|
||||
cabal2nix = released;
|
||||
cabal2nix-unstable = released;
|
||||
funcmp = released;
|
||||
@@ -561,12 +554,14 @@ let
|
||||
# for 9.10, test that using filepath (instead of filepath-bytestring) works.
|
||||
compilerNames.ghc9101
|
||||
compilerNames.ghc9102
|
||||
compilerNames.ghc9103
|
||||
];
|
||||
haskell-language-server = released;
|
||||
hoogle = released;
|
||||
hlint = lib.subtractLists [
|
||||
compilerNames.ghc9101
|
||||
compilerNames.ghc9102
|
||||
compilerNames.ghc9103
|
||||
compilerNames.ghc9122
|
||||
] released;
|
||||
hpack = released;
|
||||
@@ -594,6 +589,7 @@ let
|
||||
weeder = lib.subtractLists [
|
||||
compilerNames.ghc9101
|
||||
compilerNames.ghc9102
|
||||
compilerNames.ghc9103
|
||||
compilerNames.ghc9122
|
||||
] released;
|
||||
})
|
||||
@@ -674,7 +670,7 @@ let
|
||||
constituents = accumulateDerivations [
|
||||
jobs.pkgsStatic.haskell.packages.native-bignum.ghc948 # non-hadrian
|
||||
jobs.pkgsStatic.haskellPackages
|
||||
jobs.pkgsStatic.haskell.packages.native-bignum.ghc984
|
||||
jobs.pkgsStatic.haskell.packages.native-bignum.ghc9103
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user