From 3ab8e9b2cfce8afc13225a7e647e4e5613d29527 Mon Sep 17 00:00:00 2001 From: James Santucci Date: Sun, 26 Apr 2026 22:20:08 -0700 Subject: [PATCH 1/4] nix: Update hash of granite in flake.nix --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 0a93624..92f292f 100644 --- a/flake.nix +++ b/flake.nix @@ -14,7 +14,7 @@ repo = "granite"; owner = "mchav"; rev = "main"; - hash = "sha256-ypDiV99w2J8q7XcMpFWkv0kEm2dtWZduWIkAsuXDHEo="; + hash = "sha256-Z/o8gxMOBltKiaL0NEjMUyOvUljRvKErWeM6Ul3GM9k="; }; hsPkgs = pkgs.haskellPackages.extend (self: super: rec { From 42058e58d689491852fa36464a649d0b267ea077 Mon Sep 17 00:00:00 2001 From: James Santucci Date: Sun, 26 Apr 2026 22:38:44 -0700 Subject: [PATCH 2/4] nix: Remove unnecessary dependencies Dependencies are already available in hsPkgs, so they don't need to be additionally passed to callCabal2Nix's last argument --- flake.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index 92f292f..038eaa8 100644 --- a/flake.nix +++ b/flake.nix @@ -19,13 +19,8 @@ hsPkgs = pkgs.haskellPackages.extend (self: super: rec { granite = self.callCabal2nix "granite" granitePkg { }; - dataframe-fastcsv = self.callCabal2nix "dataframe-fastcsv" ./dataframe-fastcsv { - inherit parallel; - }; - dataframe = self.callCabal2nix "dataframe" ./. { - inherit granite; - }; - parallel = super.parallel_3_3_0_0; + dataframe-fastcsv = self.callCabal2nix "dataframe-fastcsv" ./dataframe-fastcsv { }; + dataframe = self.callCabal2nix "dataframe" ./. { }; }); in { From 927aa0a6a02f3ab039fd8564d07221dd1a0ec6e5 Mon Sep 17 00:00:00 2001 From: James Santucci Date: Sun, 26 Apr 2026 22:39:00 -0700 Subject: [PATCH 3/4] nix: Include dataframe-persistent in output packages --- flake.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 038eaa8..b80c45c 100644 --- a/flake.nix +++ b/flake.nix @@ -17,9 +17,10 @@ hash = "sha256-Z/o8gxMOBltKiaL0NEjMUyOvUljRvKErWeM6Ul3GM9k="; }; - hsPkgs = pkgs.haskellPackages.extend (self: super: rec { + hsPkgs = pkgs.haskellPackages.extend (self: super: { granite = self.callCabal2nix "granite" granitePkg { }; dataframe-fastcsv = self.callCabal2nix "dataframe-fastcsv" ./dataframe-fastcsv { }; + dataframe-persistent = self.callCabal2nix "dataframe-fastcsv" ./dataframe-persistent { }; dataframe = self.callCabal2nix "dataframe" ./. { }; }); in @@ -28,6 +29,7 @@ default = hsPkgs.dataframe; dataframe = hsPkgs.dataframe; dataframe-fastcsv = hsPkgs.dataframe-fastcsv; + dataframe-persistent = hsPkgs.dataframe-persistent; }; devShells.default = hsPkgs.shellFor { From 2af0b43a2923a577fff454feaac3cc3c5a1ab68d Mon Sep 17 00:00:00 2001 From: James Santucci Date: Sun, 26 Apr 2026 22:44:06 -0700 Subject: [PATCH 4/4] nix: Make dataframe-persistent file a regular file Basically -- manually resolve the link. callCabal2Nix didn't like the link. Other modules here don't use links, so I thought it'd be ok if dataframe-persistent didn't either. --- dataframe-persistent/LICENSE | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) mode change 120000 => 100644 dataframe-persistent/LICENSE diff --git a/dataframe-persistent/LICENSE b/dataframe-persistent/LICENSE deleted file mode 120000 index ea5b606..0000000 --- a/dataframe-persistent/LICENSE +++ /dev/null @@ -1 +0,0 @@ -../LICENSE \ No newline at end of file diff --git a/dataframe-persistent/LICENSE b/dataframe-persistent/LICENSE new file mode 100644 index 0000000..4e45839 --- /dev/null +++ b/dataframe-persistent/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2026 Michael Chavinda + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.