Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
fe2d070
all-cabal-hashes: 2023-02-13T17:53:53Z -> 2023-02-19T09:15:19Z
sternenseemann Feb 19, 2023
cc9672e
haskellPackages: regenerate package set based on current config
sternenseemann Feb 19, 2023
d1b9044
haskellPackages.h-raylib, haskellPackages.bytepatch: unmark broken
sternenseemann Feb 19, 2023
e7054c7
haskellPackages.tdlib: patch for aeson >= 2.0 compat
Feb 19, 2023
98be10b
git-annex: update sha256 for 10.20230214
sternenseemann Feb 19, 2023
a582174
haskell.packages.*.[cC]abal*: use process 1.6.17.0 for GHC < 9.2.5
sternenseemann Feb 19, 2023
1607872
release-haskell.nix: don't try building known to fail js backends
sternenseemann Feb 19, 2023
b7e41b8
maintainers/haskell: generate core-pkgs hackage2nix configuration
sternenseemann Feb 19, 2023
b5b5a19
haskellPackages.espial: Jailbreak to avoid upper bound on bytestring
dalpd Feb 18, 2023
51cde6c
haskellPackages.espial: Add dalpd as the maintainer
dalpd Feb 18, 2023
dbe6781
haskellPackages.patat: Add dalpd as the maintainer
dalpd Feb 18, 2023
e0b99a9
Merge pull request #217010 from dalpd/dad-fix-espial
cdepillabout Feb 19, 2023
ac42390
Merge master into haskell-updates
github-actions[bot] Feb 20, 2023
653dc22
haskell.packages.ghc94.ormolu: fix eval by bumping version
raehik Feb 19, 2023
fd2bb26
Merge pull request #217238 from raehik/ghc94-ormolu-pin-bump
maralorn Feb 20, 2023
5fce642
Merge master into haskell-updates
github-actions[bot] Feb 21, 2023
f454e59
Merge master into haskell-updates
github-actions[bot] Feb 22, 2023
9b540a8
haskellPackages.swisstable: "reflect" AVX2 requirement in platforms
sternenseemann Feb 22, 2023
c784c1a
Merge master into haskell-updates
github-actions[bot] Feb 23, 2023
6dc3f22
snappy: unbreak build
mikesperber Feb 23, 2023
1df0e06
haskell-tensorflow: unbreak build
mikesperber Feb 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion maintainers/scripts/haskell/regenerate-hackage-packages.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
# Related scripts are update-hackage.sh, for updating the snapshot of the
# Hackage database used by hackage2nix, and update-cabal2nix-unstable.sh,
# for updating the version of hackage2nix used to perform this task.
#
# Note that this script doesn't gcroot anything, so it may be broken by an
# unfortunately timed nix-store --gc.

set -euo pipefail

Expand All @@ -20,15 +23,21 @@ HACKAGE2NIX="${HACKAGE2NIX:-hackage2nix}"
# See: https://github.com/NixOS/nixpkgs/pull/122023
export LC_ALL=C.UTF-8

config_dir=pkgs/development/haskell-modules/configuration-hackage2nix

echo "Obtaining Hackage data"
extraction_derivation='with import ./. {}; runCommandLocal "unpacked-cabal-hashes" { } "tar xf ${all-cabal-hashes} --strip-components=1 --one-top-level=$out"'
unpacked_hackage="$(nix-build -E "$extraction_derivation" --no-out-link)"
config_dir=pkgs/development/haskell-modules/configuration-hackage2nix

echo "Generating compiler configuration"
compiler_config="$(nix-build -A haskellPackages.cabal2nix-unstable.compilerConfig --no-out-link)"

echo "Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackage-packages.nix ..."
"$HACKAGE2NIX" \
--hackage "$unpacked_hackage" \
--preferred-versions <(for n in "$unpacked_hackage"/*/preferred-versions; do cat "$n"; echo; done) \
--nixpkgs "$PWD" \
--config "$compiler_config" \
--config "$config_dir/main.yaml" \
--config "$config_dir/stackage.yaml" \
--config "$config_dir/broken.yaml" \
Expand Down
8 changes: 4 additions & 4 deletions pkgs/data/misc/hackage/pin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"commit": "220fb2ad74640b02e543271393f21ba227bd2627",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/220fb2ad74640b02e543271393f21ba227bd2627.tar.gz",
"sha256": "1hpbqw04i8p2h5w31a7rqlmhdjpj4r4v62kdqich57hm1cj2ml7h",
"msg": "Update from Hackage at 2023-02-13T17:53:53Z"
"commit": "1f7cec5b787f338430007a1176f686ddbd85cbc5",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/1f7cec5b787f338430007a1176f686ddbd85cbc5.tar.gz",
"sha256": "0ddnzb8l5gbpsar1pz2dq86xa1mv4840f9ppk5viwnzgyfiqzfv8",
"msg": "Update from Hackage at 2023-02-19T09:15:19Z"
}
79 changes: 70 additions & 9 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ self: super: {
Cabal-syntax = cself.Cabal-syntax_3_8_1_0;
} // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") {
# GHC 9.2.5 starts shipping 1.6.16.0
process = cself.process_1_6_16_0;
process = cself.process_1_6_17_0;
} // lib.optionalAttrs (lib.versions.majorMinor self.ghc.version == "8.10") {
# Prevent dependency on doctest which causes an inconsistent dependency
# due to depending on ghc-8.10.7 (with bundled process) vs. process 1.6.16.0
Expand Down Expand Up @@ -132,7 +132,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 = "0f2nnszfiqwdgfky3190prkhcndp0mva3jk7a6cl461w8kp1jspa";
sha256 = "1g1m18l7cx2y5d43k0vy5bqn4znybq0p345399zf9nkwhwhb7s20";
# 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
Expand Down Expand Up @@ -372,6 +372,19 @@ self: super: {
itanium-abi = dontCheck super.itanium-abi;
katt = dontCheck super.katt;
language-slice = dontCheck super.language-slice;

# Group of libraries by same upstream maintainer for interacting with
# Telegram messenger. Bit-rotted a bit since 2020.
tdlib = appendPatch (fetchpatch {
# https://github.com/poscat0x04/tdlib/pull/3
url = "https://github.com/poscat0x04/tdlib/commit/8eb9ecbc98c65a715469fdb8b67793ab375eda31.patch";
hash = "sha256-vEI7fTsiafNGBBl4VUXVCClW6xKLi+iK53fjcubgkpc=";
}) (doJailbreak super.tdlib) ;
tdlib-types = doJailbreak super.tdlib-types;
tdlib-gen = doJailbreak super.tdlib-gen;
# https://github.com/poscat0x04/language-tl/pull/1
language-tl = doJailbreak super.language-tl;

ldap-client = dontCheck super.ldap-client;
lensref = dontCheck super.lensref;
lvmrun = disableHardening ["format"] (dontCheck super.lvmrun);
Expand Down Expand Up @@ -446,7 +459,17 @@ self: super: {
cmdtheline = dontCheck super.cmdtheline;

# https://github.com/bos/snappy/issues/1
snappy = dontCheck super.snappy;
# https://github.com/bos/snappy/pull/10
snappy = appendPatches [
(pkgs.fetchpatch {
url = "https://github.com/bos/snappy/commit/8687802c0b85ed7fbbb1b1945a75f14fb9a9c886.patch";
sha256 = "sha256-p6rMzkjPAZVljsC1Ubj16/mNr4mq5JpxfP5xwT+Gt5M=";
})
(pkgs.fetchpatch {
url = "https://github.com/bos/snappy/commit/21c3250c1f3d273cdcf597e2b7909a22aeaa710f.patch";
sha256 = "sha256-qHEQ8FFagXGxvtblBvo7xivRARzXlaMLw8nt0068nt0=";
})
] (dontCheck super.snappy);

# https://github.com/vincenthz/hs-crypto-pubkey/issues/20
crypto-pubkey = dontCheck super.crypto-pubkey;
Expand Down Expand Up @@ -1307,11 +1330,18 @@ self: super: {
] super.svgcairo;

# Espial is waiting for a hackage release to be compatible with GHC 9.X.
espial = appendPatch (fetchpatch {
url = "https://github.com/jonschoning/espial/commit/70177f9efb9666c3616e8a474681d3eb763d0e84.patch";
sha256 = "sha256-aJtwZGp9DUpACBV0WYRL7k32m6qWf5vq6eKBFq/G23s=";
excludes = ["package.yaml" "stack.yaml" "stack.yaml.lock"];
}) super.espial;
# [This issue](https://github.com/jonschoning/espial/issues/49) can be followed
# to track the status of the new release.
espial =
let ghc9-compat = fetchpatch {
url = "https://github.com/jonschoning/espial/commit/70177f9efb9666c3616e8a474681d3eb763d0e84.patch";
sha256 = "sha256-aJtwZGp9DUpACBV0WYRL7k32m6qWf5vq6eKBFq/G23s=";
excludes = ["package.yaml" "stack.yaml" "stack.yaml.lock"];
};
in overrideCabal (drv: {
jailbreak = assert super.espial.version == "0.0.11"; true;
patches = [ ghc9-compat ];
}) super.espial;

# Upstream PR: https://github.com/jkff/splot/pull/9
splot = appendPatch (fetchpatch {
Expand Down Expand Up @@ -1802,7 +1832,38 @@ self: super: {
database-id-class = doJailbreak super.database-id-class;

cabal2nix-unstable = overrideCabal {
passthru.updateScript = ../../../maintainers/scripts/haskell/update-cabal2nix-unstable.sh;
passthru = {
updateScript = ../../../maintainers/scripts/haskell/update-cabal2nix-unstable.sh;

# This is used by regenerate-hackage-packages.nix to supply the configuration
# values we can easily generate automatically without checking them in.
compilerConfig =
pkgs.runCommand
"hackage2nix-${self.ghc.haskellCompilerName}-config.yaml"
{
nativeBuildInputs = [
self.ghc
];
}
''
cat > "$out" << EOF
# generated by haskellPackages.cabal2nix-unstable.compilerConfig
compiler: ${self.ghc.haskellCompilerName}

core-packages:
# Hack: The following package is a core package of GHCJS. If we don't declare
# it, then hackage2nix will generate a Hackage database where all dependants
# of this library are marked as "broken".
- ghcjs-base-0

EOF

ghc-pkg list \
| tail -n '+2' \
| sed -e 's/[()]//g' -e 's/\s\+/ - /' \
>> "$out"
'';
};
} super.cabal2nix-unstable;

# Too strict version bounds on base
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ in {
};

# https://github.com/tweag/ormolu/issues/941
ormolu = doDistribute self.ormolu_0_5_2_0;
ormolu = doDistribute self.ormolu_0_5_3_0;
fourmolu = overrideCabal (drv: {
libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ];
}) (disableCabalFlag "fixity-th" super.fourmolu_0_10_1_0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,6 @@ broken-packages:
- byline
- by-other-names
- bytearray-parsing
- bytepatch
- bytestring-aeson-orphans
- bytestring-arbitrary
- bytestring-class
Expand Down Expand Up @@ -1386,7 +1385,6 @@ broken-packages:
- ert
- escape-artist
- escoger
- espial
- esqueleto-pgcrypto
- ess
- essence-of-live-coding
Expand Down Expand Up @@ -2423,7 +2421,6 @@ broken-packages:
- hquantlib-time
- hquery
- hR
- h-raylib
- hreq-core
- hRESP
- h-reversi
Expand Down Expand Up @@ -2999,7 +2996,6 @@ broken-packages:
- language-sh
- language-sqlite
- language-sygus
- language-tl
- language-typescript
- language-webidl
- laop
Expand Down Expand Up @@ -4917,7 +4913,8 @@ broken-packages:
- snaplet-typed-sessions
- snap-loader-dynamic
- snap-predicates
- snappy
- snappy-iteratee
- snappy-conduit
- snap-routes
- snap-stream
- snap-testing
Expand Down Expand Up @@ -5256,8 +5253,6 @@ broken-packages:
- tempus
- ten
- tensor
- tensorflow
- tensorflow-opgen
- tensor-safe
- termbox-bindings
- termination-combinators
Expand Down
Original file line number Diff line number Diff line change
@@ -1,48 +1,4 @@
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml

compiler: ghc-9.2.4

core-packages:
- Cabal-3.6.3.0
- array-0.5.4.0
- base-4.16.3.0
- binary-0.8.9.0
- bytestring-0.11.3.1
- containers-0.6.5.1
- deepseq-1.4.6.1
- directory-1.3.6.2
- exceptions-0.10.4
- filepath-1.4.2.2
- ghc-9.2.4
- ghc-bignum-1.2
- ghc-boot-9.2.4
- ghc-boot-th-9.2.4
- ghc-compact-0.1.0.0
- ghc-heap-9.2.4
- ghc-prim-0.8.0
- ghci-9.2.4
- haskeline-0.8.2
- hpc-0.6.1.0
- integer-gmp-1.1
- libiserv-9.2.4
- mtl-2.2.2
- parsec-3.1.15.0
- pretty-1.1.3.6
- process-1.6.13.2
- rts-1.0.2
- stm-2.5.0.2
- template-haskell-2.18.0.0
- terminfo-0.4.1.5
- text-1.2.5.0
- time-1.11.1.1
- transformers-0.5.6.2
- unix-2.7.2.2
- xhtml-3000.2.2.1

# Hack: The following package is a core package of GHCJS. If we don't declare
# it, then hackage2nix will generate a Hackage database where all dependants
# of this library are marked as "broken".
- ghcjs-base-0
# pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml

# This is a list of packages with versions from the latest Stackage LTS release.
#
Expand Down Expand Up @@ -191,7 +147,9 @@ package-maintainers:
centromere:
- nfc
dalpd:
- espial
- ghc-vis
- patat
- svgcairo
domenkozar:
- cachix
Expand Down Expand Up @@ -619,6 +577,7 @@ supported-platforms:
scat: [ platforms.x86 ] # uses scrypt, which requries x86
scrypt: [ platforms.x86 ] # https://github.com/informatikr/scrypt/issues/8
seqalign: [ platforms.x86 ] # x86 intrinsics
swisstable: [ platforms.x86_64 ] # Needs AVX2
tasty-papi: [ platforms.linux ] # limited by pkgs.papi
udev: [ platforms.linux ]
Win32-console: [ platforms.windows ]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3869,9 +3869,6 @@ dont-distribute-packages:
- tbox
- tcache-AWS
- tccli
- tdlib
- tdlib-gen
- tdlib-types
- techlab
- telegram-bot
- telegram-raw-api
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/haskell-modules/configuration-nix.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1057,7 +1057,7 @@ self: super: builtins.intersectAttrs super {
Cabal-syntax = self.Cabal-syntax_3_8_1_0;
} // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.2.5") {
# Use process core package when possible
process = self.process_1_6_16_0;
process = self.process_1_6_17_0;
}));

# cabal-install switched to build type simple in 3.2.0.0
Expand Down
8 changes: 5 additions & 3 deletions pkgs/development/haskell-modules/configuration-tensorflow.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ let
tensorflow-haskell = pkgs.fetchFromGitHub {
owner = "tensorflow";
repo = "haskell";
rev = "568c9b6f03e5d66a25685a776386e2ff50b61aa9";
sha256 = "0v58zhqipa441hzdvp9pwgv6srir2fm7cp0bq2pb5jl1imwyd37h";
rev = "555d90c43202d5a3021893013bfc8e2ffff58c97";
sha256 = "uOuIeD4o+pcjvluTqyVU3GJUQ4e1+p3FhINJ9b6oK+k=";
fetchSubmodules = true;
};

Expand All @@ -23,7 +23,9 @@ in
{
tensorflow-proto = doJailbreak (setTensorflowSourceRoot "tensorflow-proto" super.tensorflow-proto);

tensorflow = setTensorflowSourceRoot "tensorflow" super.tensorflow;
tensorflow = overrideCabal
(drv: { libraryHaskellDepends = drv.libraryHaskellDepends ++ [self.vector-split]; })
(setTensorflowSourceRoot "tensorflow" super.tensorflow);

tensorflow-core-ops = setTensorflowSourceRoot "tensorflow-core-ops" super.tensorflow-core-ops;

Expand Down
Loading