Skip to content

Commit 6afccec

Browse files
committed
feat: remove flake-utils dependency
1 parent 79cefa6 commit 6afccec

File tree

2 files changed

+113
-107
lines changed

2 files changed

+113
-107
lines changed

flake.lock

Lines changed: 1 addition & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 112 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,70 @@
11
{
2-
description = "OCaml Template";
2+
description = "mlpreview";
33

44
inputs = {
55
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
6-
systems.url = "github:nix-systems/default";
7-
flake-utils = {
8-
url = "github:numtide/flake-utils";
9-
inputs.systems.follows = "systems";
10-
};
116
};
127

138
outputs =
9+
{ nixpkgs, ... }:
10+
let
11+
supportedSystems = nixpkgs.lib.systems.flakeExposed;
12+
in
1413
{
15-
self,
16-
nixpkgs,
17-
flake-utils,
18-
...
19-
}:
20-
flake-utils.lib.eachDefaultSystem (
21-
system:
22-
let
23-
pkgs = nixpkgs.legacyPackages.${system};
24-
25-
ocamlPackages = pkgs.ocamlPackages;
26-
27-
spectrum = ocamlPackages.buildDunePackage rec {
28-
pname = "spectrum";
29-
version = "";
30-
src = builtins.fetchurl {
31-
url = "https://github.com/RisGar/ocaml-spectrum/archive/6f69da7057a8a0ac1d31887363cfbd05abd4de42.tar.gz";
32-
sha256 = "sha256:084nvj20b2v1b6zjw629x5986k0jhg9gcnym312mdfj984q3bqd4";
14+
packages = nixpkgs.lib.genAttrs supportedSystems (
15+
system:
16+
let
17+
pkgs = nixpkgs.legacyPackages.${system};
18+
19+
ocamlPackages = pkgs.ocamlPackages // {
20+
spectrum = ocamlPackages.buildDunePackage {
21+
pname = "spectrum";
22+
version = "0.6.1";
23+
src = pkgs.fetchFromGitHub {
24+
owner = "RisGar";
25+
repo = "ocaml-spectrum";
26+
rev = "437e3797de66fa919703409665c5a1ef2df09328";
27+
hash = "sha256-aEATXTSbRA5Y0fO71Ca4+OGr7NTBJjQl+ecr3LacqlE=";
28+
};
29+
propagatedBuildInputs = [
30+
ocamlPackages.color
31+
ocamlPackages.ppx_deriving
32+
ocamlPackages.opam-state
33+
ocamlPackages.pcre2
34+
];
35+
};
3336
};
34-
propagatedBuildInputs = with pkgs; [
35-
# Add the packages needed
36-
ocamlPackages.color
37-
ocamlPackages.ppx_deriving
38-
ocamlPackages.opam-state
39-
ocamlPackages.pcre2
37+
38+
buildInputs = [
39+
# OCaml dependencies
40+
ocamlPackages.cmdliner
41+
ocamlPackages.ctypes
42+
ocamlPackages.spectrum
43+
44+
# Linking dependencies (make available for dynamic linking)
45+
pkgs.libarchive
46+
pkgs.mupdf
47+
48+
# CLI dependencies
49+
pkgs.eza
50+
pkgs.ffmpeg
51+
pkgs.bat
4052
];
41-
};
42-
43-
buildInputs = [
44-
# Add library dependencies here
45-
ocamlPackages.cmdliner
46-
ocamlPackages.ctypes
47-
spectrum
48-
49-
pkgs.pkgconf
50-
pkgs.pkg-config
51-
pkgs.libarchive
52-
pkgs.mupdf
53-
];
54-
55-
nativeBuildInputs = with pkgs; [
56-
ocamlPackages.ocaml
57-
# the dune build system
58-
ocamlPackages.dune_3
59-
60-
# If you're on NixOS, you'll probably want this (See: https://nixos.wiki/wiki/OCaml#Findlib.2C_ocamlfind)
61-
# ocamlPackages.findlib
62-
63-
# Additionally, add any development packages you want
64-
# A fancy REPL...
65-
ocamlPackages.utop
66-
# Editor integration...
67-
ocamlPackages.merlin
68-
ocamlPackages.lsp
69-
# Formatting...
70-
ocamlPackages.ocamlformat
71-
ocamlPackages.ocp-indent
72-
];
73-
in
74-
{
75-
packages = {
53+
54+
nativeBuildInputs = [
55+
ocamlPackages.ocaml
56+
# the dune build system
57+
ocamlPackages.dune_3
58+
59+
# Additionally, add any development packages you want
60+
ocamlPackages.utop
61+
ocamlPackages.merlin
62+
ocamlPackages.lsp
63+
ocamlPackages.ocamlformat
64+
ocamlPackages.ocp-indent
65+
];
66+
in
67+
{
7668
default = ocamlPackages.buildDunePackage {
7769
pname = "mlpreview";
7870
version = "0.0.3";
@@ -83,9 +75,60 @@
8375

8476
inherit nativeBuildInputs buildInputs;
8577
};
86-
};
78+
}
79+
);
80+
81+
devShells = nixpkgs.lib.genAttrs supportedSystems (
82+
system:
83+
let
84+
pkgs = nixpkgs.legacyPackages.${system};
8785

88-
devShells.default = pkgs.mkShell { inherit nativeBuildInputs buildInputs; };
89-
}
90-
);
86+
ocamlPackages = pkgs.ocamlPackages // {
87+
spectrum = ocamlPackages.buildDunePackage {
88+
pname = "spectrum";
89+
version = "0.6.1";
90+
src = pkgs.fetchFromGitHub {
91+
owner = "RisGar";
92+
repo = "ocaml-spectrum";
93+
rev = "437e3797de66fa919703409665c5a1ef2df09328";
94+
hash = "sha256-aEATXTSbRA5Y0fO71Ca4+OGr7NTBJjQl+ecr3LacqlE=";
95+
};
96+
propagatedBuildInputs = [
97+
ocamlPackages.color
98+
ocamlPackages.ppx_deriving
99+
ocamlPackages.opam-state
100+
ocamlPackages.pcre2
101+
];
102+
};
103+
};
104+
105+
buildInputs = [
106+
ocamlPackages.cmdliner
107+
ocamlPackages.ctypes
108+
ocamlPackages.spectrum
109+
110+
# Ensure these are available in the shell for linking/testing
111+
pkgs.libarchive
112+
pkgs.mupdf
113+
114+
pkgs.eza
115+
pkgs.ffmpeg
116+
pkgs.bat
117+
];
118+
119+
nativeBuildInputs = [
120+
ocamlPackages.ocaml
121+
ocamlPackages.dune_3
122+
ocamlPackages.utop
123+
ocamlPackages.merlin
124+
ocamlPackages.lsp
125+
ocamlPackages.ocamlformat
126+
ocamlPackages.ocp-indent
127+
];
128+
in
129+
{
130+
default = pkgs.mkShell { inherit nativeBuildInputs buildInputs; };
131+
}
132+
);
133+
};
91134
}

0 commit comments

Comments
 (0)