1{
2 lib,
3 newScope,
4 fetchFromGitHub,
5 unzip,
6 stdenvNoCC,
7}:
8let
9 base = {
10 version = "unstable-2023-01-26";
11 dontBuild = true;
12 meta = with lib; {
13 description = "Data repository for seaborn examples";
14 homepage = "https://github.com/mwaskom/seaborn-data";
15 platforms = platforms.all;
16 maintainers = with maintainers; [ mbalatsko ];
17 };
18 };
19 makeSeabornDataPackage =
20 { pname, hash }:
21 let
22 src = fetchFromGitHub {
23 owner = "mwaskom";
24 repo = "seaborn-data";
25 rev = "2b29313169bf8dfa77d8dc930f7bd3eba559a906";
26 inherit hash;
27 sparseCheckout = [ "${pname}.csv" ];
28 };
29 in
30 stdenvNoCC.mkDerivation (
31 base
32 // {
33 inherit pname src;
34 version = base.version;
35 installPhase = ''
36 runHook preInstall
37
38 mkdir -p $out
39 cp ${pname}.csv $out/${pname}.csv
40
41 runHook postInstall
42 '';
43 }
44 );
45in
46lib.makeScope newScope (self: {
47 exercise = makeSeabornDataPackage ({
48 pname = "exercise";
49 hash = "sha256-icoc2HkG303A8hCoW6kZxD5qhOKIpdxErLr288o04wE=";
50 });
51})