Most of the ecosystem has moved to this formatter, and many people configured their editors to autoformat it with this formatter. Closes: https://git.snix.dev/snix/snix/issues/62 Change-Id: Icf39e7836c91fc2ae49fbe22a40a639105bfb0bd Reviewed-on: https://cl.snix.dev/c/snix/+/30671 Reviewed-by: Florian Klink <flokli@flokli.de> Tested-by: besadii Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
45 lines
1.3 KiB
Nix
45 lines
1.3 KiB
Nix
# - Standalone, importable files are installed to $out/lib/*.bqn.
|
|
# They have no external dependencies, but do import each other (via relative paths).
|
|
# - Documentation to $out/share/doc/bqn-libs.
|
|
#
|
|
# Note: This packaging is ad hoc and tentative. No way to handle BQN dependencies
|
|
# for depot (or Nix, for that matter) has been proposed yet. If you have ideas /
|
|
# want to work on this, talk to sterni.
|
|
# TODO(sterni): Find out whether any work towards a BQN package manager exists
|
|
#
|
|
# The problem is that BQN is sort of like Nix: It only has the notion of direct
|
|
# file imports. Unlike Nix, however, it doesn't even have a builtin notion of a
|
|
# search path, so the design space is unconstrained. The most obvious solution
|
|
# would be to implement some kind of search part ourselves. Unfortunately, there
|
|
# is no portable way to access environment variables in BQN at the moment.
|
|
{
|
|
depot,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
|
|
let
|
|
src = pkgs.fetchFromGitHub {
|
|
inherit (depot.third_party.sources.bqn-libs)
|
|
repo
|
|
owner
|
|
sha256
|
|
rev
|
|
;
|
|
};
|
|
in
|
|
|
|
pkgs.runCommandNoCC "bqn-libs-${builtins.substring 0 7 src.rev}"
|
|
{
|
|
nativeBuildInputs = [
|
|
pkgs.cbqn
|
|
];
|
|
meta.license = lib.licenses.bsd0;
|
|
}
|
|
''
|
|
BQN "${src}/test/main.bqn"
|
|
|
|
install -Dm644 "${src}/"*.bqn -t "$out/lib"
|
|
install -Dm644 "${src}/LICENSE" -t "$out/share/doc/bqn-libs"
|
|
''
|