feat(3p/bqn-libs): init
Change-Id: Ibbc152e782027de6eda9fba5c628f3d4fc227370 Reviewed-on: https://cl.tvl.fyi/c/depot/+/13019 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: sterni <sternenseemann@systemli.org>
This commit is contained in:
parent
c88fae5277
commit
1a0d20b417
2 changed files with 51 additions and 0 deletions
39
third_party/bqn-libs/default.nix
vendored
Normal file
39
third_party/bqn-libs/default.nix
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
# - 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"
|
||||||
|
''
|
||||||
12
third_party/sources/sources.json
vendored
12
third_party/sources/sources.json
vendored
|
|
@ -11,6 +11,18 @@
|
||||||
"url": "https://github.com/ryantm/agenix/archive/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41.tar.gz",
|
"url": "https://github.com/ryantm/agenix/archive/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41.tar.gz",
|
||||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
},
|
},
|
||||||
|
"bqn-libs": {
|
||||||
|
"branch": "master",
|
||||||
|
"description": "Informal collection of BQN utilities",
|
||||||
|
"homepage": "",
|
||||||
|
"owner": "mlochbaum",
|
||||||
|
"repo": "bqn-libs",
|
||||||
|
"rev": "405644fe7aeca7cd31304c05b95de1a6c197fff6",
|
||||||
|
"sha256": "0wxa3k9kyqr4xlvjdrhza00gk3al9f3gjbfqws1vppx5m7cq97xq",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/mlochbaum/bqn-libs/archive/405644fe7aeca7cd31304c05b95de1a6c197fff6.tar.gz",
|
||||||
|
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||||
|
},
|
||||||
"gitignore.nix": {
|
"gitignore.nix": {
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"description": "Nix functions for filtering local git sources",
|
"description": "Nix functions for filtering local git sources",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue