From 9d484a32e8ac648e0b656bf05d7ba2c9ee6e0d61 Mon Sep 17 00:00:00 2001 From: Ai-Ya-Ya Date: Fri, 23 Jan 2026 18:55:40 +0000 Subject: [PATCH] haskellPackages.dataframe: pin to 0.3.3.6 later versions require random-1.3, and while nixpkgs has random_1_3_1, overriding that would break dependency coherence for some other packages that depend on dataframe, leading to messy and hacky overrides. best to pin to random-1.2 for now and wait for stackage lts update to bump random to 1.3 --- .../configuration-hackage2nix/broken.yaml | 1 - .../configuration-hackage2nix/main.yaml | 3 + .../transitive-broken.yaml | 4 - .../haskell-modules/hackage-packages.nix | 89 +++++++++++++++++-- 4 files changed, 87 insertions(+), 10 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml index e5a36380aa7d..3f10dd33cc79 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml @@ -1261,7 +1261,6 @@ broken-packages: - database-migrate # failure in job https://hydra.nixos.org/build/233201597 at 2023-09-02 - database-study # failure in job https://hydra.nixos.org/build/233222466 at 2023-09-02 - datadog # failure in job https://hydra.nixos.org/build/233191124 at 2023-09-02 - - dataframe # failure in job https://hydra.nixos.org/build/315095739 at 2025-11-29 - DataIndex # failure in job https://hydra.nixos.org/build/233254506 at 2023-09-02 - datalog # failure in job https://hydra.nixos.org/build/233242707 at 2023-09-02 - datapacker # failure in job https://hydra.nixos.org/build/233206524 at 2023-09-02 diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index 1d1d63abd4b6..a27134a99f6d 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -26,6 +26,9 @@ # keep-sorted start skip_lines=1 case=no numeric=yes default-package-overrides: - chs-cabal == 0.1.1.2 # matches Cabal 3.12 (GHC 9.10) + # 2026-01-23: dataframe >= 0.3.3.7 uses random-1.3, which breaks dependency coherence on 25.11, whose default version is random-1.2 + # TODO: when (likely in 25.x) Stackage bumps random to 1.3, review + - dataframe == 0.3.3.6 # 2025-12-26: Needs to match egison-pattern-src from Stackage LTS - egison-pattern-src-th-mode < 0.2.2 - extensions == 0.1.0.2 # matches Cabal 3.12 (GHC 9.10) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml index 7359735857a0..afb685523b2c 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml @@ -672,8 +672,6 @@ dont-distribute-packages: - datadog-tracing - datafix - dataflow - - dataframe-hasktorch - - dataframe-persistent - datasets - date-conversions - dbjava @@ -1788,7 +1786,6 @@ dont-distribute-packages: - ifscs - ige-mac-integration - igrf - - ihaskell-dataframe - ihaskell-rlangqq - ihaskell-symtegration - ihttp @@ -3399,7 +3396,6 @@ dont-distribute-packages: - symantic-http-test - symantic-lib - symbiote - - symbolic-regression - symmetry-operations-symbols - Synapse - synapse diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 1267027d8f2f..b3985668ead9 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -183614,6 +183614,90 @@ self: { ) { }; dataframe = callPackage ( + { + mkDerivation, + array, + attoparsec, + base, + bytestring, + bytestring-lexing, + containers, + criterion, + directory, + filepath, + granite, + hashable, + HUnit, + mmap, + parallel, + process, + random, + random-shuffle, + snappy-hs, + template-haskell, + text, + time, + vector, + vector-algorithms, + zstd, + }: + mkDerivation { + pname = "dataframe"; + version = "0.3.3.6"; + sha256 = "0x32x6lg5kq3l2zpcpbp1nw6k279lp1y4nsfm9ppaz18j9k39nqy"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array + attoparsec + base + bytestring + bytestring-lexing + containers + directory + granite + hashable + mmap + parallel + process + random + snappy-hs + template-haskell + text + time + vector + vector-algorithms + zstd + ]; + executableHaskellDepends = [ + base + directory + filepath + process + random + time + vector + ]; + testHaskellDepends = [ + base + HUnit + random + random-shuffle + text + time + vector + ]; + benchmarkHaskellDepends = [ + base + criterion + process + ]; + description = "A fast, safe, and intuitive DataFrame library"; + license = lib.licensesSpdx."GPL-3.0-or-later"; + } + ) { }; + + dataframe_0_4_1_0 = callPackage ( { mkDerivation, aeson, @@ -183717,7 +183801,6 @@ self: { description = "A fast, safe, and intuitive DataFrame library"; license = lib.licensesSpdx."MIT"; hydraPlatforms = lib.platforms.none; - broken = true; } ) { }; @@ -183742,7 +183825,6 @@ self: { testHaskellDepends = [ base ]; description = "Converts between dataframes and hasktorch tensors"; license = lib.licensesSpdx."MIT"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -183797,7 +183879,6 @@ self: { ]; description = "Persistent database integration for the dataframe library"; license = lib.licensesSpdx."GPL-3.0-or-later"; - hydraPlatforms = lib.platforms.none; } ) { }; @@ -379672,7 +379753,6 @@ self: { text ]; license = lib.licensesSpdx."BSD-3-Clause"; - hydraPlatforms = lib.platforms.none; mainProgram = "ihaskell-dataframe-exe"; } ) { }; @@ -668852,7 +668932,6 @@ self: { testHaskellDepends = [ base ]; description = "Symbolic Regression in Haskell"; license = lib.licensesSpdx."MIT"; - hydraPlatforms = lib.platforms.none; } ) { };