Merge staging-next into staging
This commit is contained in:
commit
a254c225b6
58 changed files with 1055 additions and 80 deletions
|
@ -1,27 +1,64 @@
|
|||
{ stdenv, fetchzip, lib, wrapGAppsHook, alsa-lib, atk, cairo, gdk-pixbuf
|
||||
, glib, gst_all_1, gtk3, libSM, libX11, libpng12, pango, zlib }:
|
||||
{ stdenv
|
||||
, fetchzip
|
||||
, lib
|
||||
, wrapGAppsHook
|
||||
, alsa-lib
|
||||
, atk
|
||||
, cairo
|
||||
, fontconfig
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gst_all_1
|
||||
, gtk3
|
||||
, libSM
|
||||
, libX11
|
||||
, libXtst
|
||||
, libpng12
|
||||
, pango
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "transcribe";
|
||||
version = "9.00";
|
||||
version = "9.10";
|
||||
|
||||
src = if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchzip {
|
||||
url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-9.00.0.tar.gz";
|
||||
sha256 = "0mgjx0hnps3jmc2d9hkskxbmwcqf7f9jx595j5sc501br1l84sdf";
|
||||
}
|
||||
else throw "Platform not supported";
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchzip
|
||||
{
|
||||
url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-9.10.0.tar.gz";
|
||||
sha256 = "sha256-6+P2qdjyvCzwrXYgw2yeG+hu8W5t6E0RCZx6Znkvj3g=";
|
||||
}
|
||||
else throw "Platform not supported";
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
|
||||
buildInputs = with gst_all_1; [ gst-plugins-base gst-plugins-good
|
||||
gst-plugins-bad gst-plugins-ugly ];
|
||||
buildInputs = with gst_all_1; [
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
gst-plugins-bad
|
||||
gst-plugins-ugly
|
||||
];
|
||||
|
||||
dontPatchELF = true;
|
||||
|
||||
libPath = with gst_all_1; lib.makeLibraryPath [
|
||||
stdenv.cc.cc glib gtk3 atk pango cairo gdk-pixbuf alsa-lib
|
||||
libX11 libSM libpng12 gstreamer gst-plugins-base zlib
|
||||
stdenv.cc.cc
|
||||
glib
|
||||
gtk3
|
||||
atk
|
||||
fontconfig
|
||||
pango
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
alsa-lib
|
||||
libX11
|
||||
libXtst
|
||||
libSM
|
||||
libpng12
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
zlib
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -16,11 +16,11 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "nano";
|
||||
version = "5.9";
|
||||
version = "6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
|
||||
sha256 = "dX24zaS7KHNZnkd4OvRj47VHpiewyrsw6nv3H7TCSTc=";
|
||||
sha256 = "k6yMtotK0Q4KrrgKLdFcW7ietmWkhE960Bxn78sWnqI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
|
||||
|
|
|
@ -28,12 +28,12 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "spacevim";
|
||||
version = "1.7.0";
|
||||
version = "1.8.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "SpaceVim";
|
||||
repo = "SpaceVim";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-TmfPeaGkH1Wq2b5lB29PUYDVddJVN3mBuPAmu9EtiGY=";
|
||||
sha256 = "sha256:11snnh5q47nqhzjb9qya6hpnmlzc060958whqvqrh4hc7gnlnqp8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper vim-customized ];
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "index";
|
||||
pname = "index-fm";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
|
|
|
@ -2,21 +2,21 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ttyper";
|
||||
version = "0.3.1";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "max-niederman";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lluBxYZQWygX9aujNK251bDilNNErVNr4WDoyqSPTiQ=";
|
||||
sha256 = "sha256-UptjgFGp4QNG8eLuqBzg/Kd5p5Rms3yT172hbf/2hi4=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-GQNNl8/Y/jHDBGJQ7LWNpgbOgWaV/3UAMgYLJFJmQ3Y=";
|
||||
cargoSha256 = "sha256-N10X5eJlpDKmCEffEXpkAejS32Lz183Lup0mmLMwOSU=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal-based typing test";
|
||||
homepage = "https://github.com/max-niederman/ttyper";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
maintainers = with maintainers; [ figsoda max-niederman ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.lgpl21;
|
||||
maintainers = with maintainers; [ suhr ];
|
||||
platforms = platforms.unix;
|
||||
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/ciao.x86_64-darwin
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,261 @@
|
|||
From 6001db79c477b03eacc7e7049560921fb54b7845 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Sandiford <richard.sandiford@arm.com>
|
||||
Date: Mon, 7 Sep 2020 20:15:36 +0100
|
||||
Subject: [PATCH] lra: Avoid cycling on certain subreg reloads [PR96796]
|
||||
|
||||
This PR is about LRA cycling for a reload of the form:
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Changing pseudo 196 in operand 1 of insn 103 on equiv [r105:DI*0x8+r140:DI]
|
||||
Creating newreg=287, assigning class ALL_REGS to slow/invalid mem r287
|
||||
Creating newreg=288, assigning class ALL_REGS to slow/invalid mem r288
|
||||
103: r203:SI=r288:SI<<0x1+r196:DI#0
|
||||
REG_DEAD r196:DI
|
||||
Inserting slow/invalid mem reload before:
|
||||
316: r287:DI=[r105:DI*0x8+r140:DI]
|
||||
317: r288:SI=r287:DI#0
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
The problem is with r287. We rightly give it a broad starting class of
|
||||
POINTER_AND_FP_REGS (reduced from ALL_REGS by preferred_reload_class).
|
||||
However, we never make forward progress towards narrowing it down to
|
||||
a specific choice of class (POINTER_REGS or FP_REGS).
|
||||
|
||||
I think in practice we rely on two things to narrow a reload pseudo's
|
||||
class down to a specific choice:
|
||||
|
||||
(1) a restricted class is specified when the pseudo is created
|
||||
|
||||
This happens for input address reloads, where the class is taken
|
||||
from the target's chosen base register class. It also happens
|
||||
for simple REG reloads, where the class is taken from the chosen
|
||||
alternative's constraints.
|
||||
|
||||
(2) uses of the reload pseudo as a direct input operand
|
||||
|
||||
In this case get_reload_reg tries to reuse the existing register
|
||||
and narrow its class, instead of creating a new reload pseudo.
|
||||
|
||||
However, neither occurs here. As described above, r287 rightly
|
||||
starts out with a wide choice of class, ultimately derived from
|
||||
ALL_REGS, so we don't get (1). And as the comments in the PR
|
||||
explain, r287 is never used as an input reload, only the subreg is,
|
||||
so we don't get (2):
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Choosing alt 13 in insn 317: (0) r (1) w {*movsi_aarch64}
|
||||
Creating newreg=291, assigning class FP_REGS to r291
|
||||
317: r288:SI=r291:SI
|
||||
Inserting insn reload before:
|
||||
320: r291:SI=r287:DI#0
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
IMO, in this case we should rely on the reload of r316 to narrow
|
||||
down the class of r278. Currently we do:
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
Choosing alt 7 in insn 316: (0) r (1) m {*movdi_aarch64}
|
||||
Creating newreg=289 from oldreg=287, assigning class GENERAL_REGS to r289
|
||||
316: r289:DI=[r105:DI*0x8+r140:DI]
|
||||
Inserting insn reload after:
|
||||
318: r287:DI=r289:DI
|
||||
---------------------------------------------------
|
||||
|
||||
i.e. we create a new pseudo register r289 and give *that* pseudo
|
||||
GENERAL_REGS instead. This is because get_reload_reg only narrows
|
||||
down the existing class for OP_IN and OP_INOUT, not OP_OUT.
|
||||
|
||||
But if we have a reload pseudo in a reload instruction and have chosen
|
||||
a specific class for the reload pseudo, I think we should simply install
|
||||
it for OP_OUT reloads too, if the class is a subset of the existing class.
|
||||
We will need to pick such a register whatever happens (for r289 in the
|
||||
example above). And as explained in the PR, doing this actually avoids
|
||||
an unnecessary move via the FP registers too.
|
||||
|
||||
The patch is quite aggressive in that it does this for all reload
|
||||
pseudos in all reload instructions. I wondered about reusing the
|
||||
condition for a reload move in in_class_p:
|
||||
|
||||
INSN_UID (curr_insn) >= new_insn_uid_start
|
||||
&& curr_insn_set != NULL
|
||||
&& ((OBJECT_P (SET_SRC (curr_insn_set))
|
||||
&& ! CONSTANT_P (SET_SRC (curr_insn_set)))
|
||||
|| (GET_CODE (SET_SRC (curr_insn_set)) == SUBREG
|
||||
&& OBJECT_P (SUBREG_REG (SET_SRC (curr_insn_set)))
|
||||
&& ! CONSTANT_P (SUBREG_REG (SET_SRC (curr_insn_set)))))))
|
||||
|
||||
but I can't really justify that on first principles. I think we
|
||||
should apply the rule consistently until we have a specific reason
|
||||
for doing otherwise.
|
||||
|
||||
gcc/
|
||||
PR rtl-optimization/96796
|
||||
* lra-constraints.c (in_class_p): Add a default-false
|
||||
allow_all_reload_class_changes_p parameter. Do not treat
|
||||
reload moves specially when the parameter is true.
|
||||
(get_reload_reg): Try to narrow the class of an existing OP_OUT
|
||||
reload if we're reloading a reload pseudo in a reload instruction.
|
||||
|
||||
gcc/testsuite/
|
||||
PR rtl-optimization/96796
|
||||
* gcc.c-torture/compile/pr96796.c: New test.
|
||||
---
|
||||
gcc/lra-constraints.c | 54 ++++++++++++++----
|
||||
gcc/testsuite/gcc.c-torture/compile/pr96796.c | 55 +++++++++++++++++++
|
||||
2 files changed, 99 insertions(+), 10 deletions(-)
|
||||
create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr96796.c
|
||||
|
||||
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
|
||||
index 580da9c3ed6..161b721efb1 100644
|
||||
--- a/gcc/lra-constraints.c
|
||||
+++ b/gcc/lra-constraints.c
|
||||
@@ -236,12 +236,17 @@ get_reg_class (int regno)
|
||||
CL. Use elimination first if REG is a hard register. If REG is a
|
||||
reload pseudo created by this constraints pass, assume that it will
|
||||
be allocated a hard register from its allocno class, but allow that
|
||||
- class to be narrowed to CL if it is currently a superset of CL.
|
||||
+ class to be narrowed to CL if it is currently a superset of CL and
|
||||
+ if either:
|
||||
+
|
||||
+ - ALLOW_ALL_RELOAD_CLASS_CHANGES_P is true or
|
||||
+ - the instruction we're processing is not a reload move.
|
||||
|
||||
If NEW_CLASS is nonnull, set *NEW_CLASS to the new allocno class of
|
||||
REGNO (reg), or NO_REGS if no change in its class was needed. */
|
||||
static bool
|
||||
-in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class)
|
||||
+in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class,
|
||||
+ bool allow_all_reload_class_changes_p = false)
|
||||
{
|
||||
enum reg_class rclass, common_class;
|
||||
machine_mode reg_mode;
|
||||
@@ -266,7 +271,8 @@ in_class_p (rtx reg, enum reg_class cl, enum reg_class *new_class)
|
||||
typically moves that have many alternatives, and restricting
|
||||
reload pseudos for one alternative may lead to situations
|
||||
where other reload pseudos are no longer allocatable. */
|
||||
- || (INSN_UID (curr_insn) >= new_insn_uid_start
|
||||
+ || (!allow_all_reload_class_changes_p
|
||||
+ && INSN_UID (curr_insn) >= new_insn_uid_start
|
||||
&& curr_insn_set != NULL
|
||||
&& ((OBJECT_P (SET_SRC (curr_insn_set))
|
||||
&& ! CONSTANT_P (SET_SRC (curr_insn_set)))
|
||||
@@ -598,13 +604,12 @@ canonicalize_reload_addr (rtx addr)
|
||||
return addr;
|
||||
}
|
||||
|
||||
-/* Create a new pseudo using MODE, RCLASS, ORIGINAL or reuse already
|
||||
- created input reload pseudo (only if TYPE is not OP_OUT). Don't
|
||||
- reuse pseudo if IN_SUBREG_P is true and the reused pseudo should be
|
||||
- wrapped up in SUBREG. The result pseudo is returned through
|
||||
- RESULT_REG. Return TRUE if we created a new pseudo, FALSE if we
|
||||
- reused the already created input reload pseudo. Use TITLE to
|
||||
- describe new registers for debug purposes. */
|
||||
+/* Create a new pseudo using MODE, RCLASS, ORIGINAL or reuse an existing
|
||||
+ reload pseudo. Don't reuse an existing reload pseudo if IN_SUBREG_P
|
||||
+ is true and the reused pseudo should be wrapped up in a SUBREG.
|
||||
+ The result pseudo is returned through RESULT_REG. Return TRUE if we
|
||||
+ created a new pseudo, FALSE if we reused an existing reload pseudo.
|
||||
+ Use TITLE to describe new registers for debug purposes. */
|
||||
static bool
|
||||
get_reload_reg (enum op_type type, machine_mode mode, rtx original,
|
||||
enum reg_class rclass, bool in_subreg_p,
|
||||
@@ -616,6 +621,35 @@ get_reload_reg (enum op_type type, machine_mode mode, rtx original,
|
||||
|
||||
if (type == OP_OUT)
|
||||
{
|
||||
+ /* Output reload registers tend to start out with a conservative
|
||||
+ choice of register class. Usually this is ALL_REGS, although
|
||||
+ a target might narrow it (for performance reasons) through
|
||||
+ targetm.preferred_reload_class. It's therefore quite common
|
||||
+ for a reload instruction to require a more restrictive class
|
||||
+ than the class that was originally assigned to the reload register.
|
||||
+
|
||||
+ In these situations, it's more efficient to refine the choice
|
||||
+ of register class rather than create a second reload register.
|
||||
+ This also helps to avoid cycling for registers that are only
|
||||
+ used by reload instructions. */
|
||||
+ if (REG_P (original)
|
||||
+ && (int) REGNO (original) >= new_regno_start
|
||||
+ && INSN_UID (curr_insn) >= new_insn_uid_start
|
||||
+ && in_class_p (original, rclass, &new_class, true))
|
||||
+ {
|
||||
+ unsigned int regno = REGNO (original);
|
||||
+ if (lra_dump_file != NULL)
|
||||
+ {
|
||||
+ fprintf (lra_dump_file, " Reuse r%d for output ", regno);
|
||||
+ dump_value_slim (lra_dump_file, original, 1);
|
||||
+ }
|
||||
+ if (new_class != lra_get_allocno_class (regno))
|
||||
+ lra_change_class (regno, new_class, ", change to", false);
|
||||
+ if (lra_dump_file != NULL)
|
||||
+ fprintf (lra_dump_file, "\n");
|
||||
+ *result_reg = original;
|
||||
+ return false;
|
||||
+ }
|
||||
*result_reg
|
||||
= lra_create_new_reg_with_unique_value (mode, original, rclass, title);
|
||||
return true;
|
||||
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr96796.c b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
|
||||
new file mode 100644
|
||||
index 00000000000..8808e62fe77
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/gcc.c-torture/compile/pr96796.c
|
||||
@@ -0,0 +1,55 @@
|
||||
+/* { dg-additional-options "-fcommon" } */
|
||||
+
|
||||
+struct S0 {
|
||||
+ signed f0 : 8;
|
||||
+ unsigned f1;
|
||||
+ unsigned f4;
|
||||
+};
|
||||
+struct S1 {
|
||||
+ long f3;
|
||||
+ char f4;
|
||||
+} g_3_4;
|
||||
+
|
||||
+int g_5, func_1_l_32, func_50___trans_tmp_31;
|
||||
+static struct S0 g_144, g_834, g_1255, g_1261;
|
||||
+
|
||||
+int g_273[120] = {};
|
||||
+int *g_555;
|
||||
+char **g_979;
|
||||
+static int g_1092_0;
|
||||
+static int g_1193;
|
||||
+int safe_mul_func_int16_t_s_s(int si1, int si2) { return si1 * si2; }
|
||||
+static struct S0 *func_50();
|
||||
+int func_1() { func_50(g_3_4, g_5, func_1_l_32, 8, 3); }
|
||||
+void safe_div_func_int64_t_s_s(int *);
|
||||
+void safe_mod_func_uint32_t_u_u(struct S0);
|
||||
+struct S0 *func_50(int p_51, struct S0 p_52, struct S1 p_53, int p_54,
|
||||
+ int p_55) {
|
||||
+ int __trans_tmp_30;
|
||||
+ char __trans_tmp_22;
|
||||
+ short __trans_tmp_19;
|
||||
+ long l_985_1;
|
||||
+ long l_1191[8];
|
||||
+ safe_div_func_int64_t_s_s(g_273);
|
||||
+ __builtin_printf((char*)g_1261.f4);
|
||||
+ safe_mod_func_uint32_t_u_u(g_834);
|
||||
+ g_144.f0 += 1;
|
||||
+ for (;;) {
|
||||
+ struct S1 l_1350 = {&l_1350};
|
||||
+ for (; p_53.f3; p_53.f3 -= 1)
|
||||
+ for (; g_1193 <= 2; g_1193 += 1) {
|
||||
+ __trans_tmp_19 = safe_mul_func_int16_t_s_s(l_1191[l_985_1 + p_53.f3],
|
||||
+ p_55 % (**g_979 = 10));
|
||||
+ __trans_tmp_22 = g_1255.f1 * p_53.f4;
|
||||
+ __trans_tmp_30 = __trans_tmp_19 + __trans_tmp_22;
|
||||
+ if (__trans_tmp_30)
|
||||
+ g_1261.f0 = p_51;
|
||||
+ else {
|
||||
+ g_1255.f0 = p_53.f3;
|
||||
+ int *l_1422 = g_834.f0 = g_144.f4 != (*l_1422)++ > 0 < 0 ^ 51;
|
||||
+ g_555 = ~0;
|
||||
+ g_1092_0 |= func_50___trans_tmp_31;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.18.4
|
||||
|
|
@ -63,11 +63,22 @@ with lib;
|
|||
with builtins;
|
||||
|
||||
let majorVersion = "9";
|
||||
version = "${majorVersion}.4.0";
|
||||
/*
|
||||
If you update, please build on aarch64-linux
|
||||
and check braces adjacent to `cplusplus` lines in file
|
||||
./result/lib/gcc/aarch64-unknown-linux-gnu/9.*.0/include/arm_acle.h
|
||||
*/
|
||||
version = "${majorVersion}.3.0";
|
||||
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
patches = []
|
||||
patches =
|
||||
# Fix ICE: Max. number of generated reload insns per insn is achieved (90)
|
||||
#
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96796
|
||||
#
|
||||
# This patch can most likely be removed by a post 9.3.0-release.
|
||||
[ ./avoid-cycling-subreg-reloads.patch ]
|
||||
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||
++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
|
||||
++ optional noSysDirs ../no-sys-dirs.patch
|
||||
|
@ -81,7 +92,9 @@ let majorVersion = "9";
|
|||
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
|
||||
|
||||
# Obtain latest patch with ../update-mcfgthread-patches.sh
|
||||
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
|
||||
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
|
||||
|
||||
++ [ ../libsanitizer-no-cyclades-9.patch ];
|
||||
|
||||
/* Cross-gcc settings (build == host != target) */
|
||||
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
||||
|
@ -98,7 +111,7 @@ stdenv.mkDerivation ({
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
|
||||
sha256 = "13l3p6g2krilaawbapmn9zmmrh3zdwc36mfr3msxfy038hps6pf9";
|
||||
sha256 = "1la2yy27ziasyf0jvzk58y1i5b5bq2h176qil550bxhifs39gqbi";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
|
|
|
@ -33,7 +33,7 @@ with lib;
|
|||
let
|
||||
# Release calendar: https://www.mesa3d.org/release-calendar.html
|
||||
# Release frequency: https://www.mesa3d.org/releasing.html#schedule
|
||||
version = "21.3.1";
|
||||
version = "21.3.2";
|
||||
branch = versions.major version;
|
||||
|
||||
self = stdenv.mkDerivation {
|
||||
|
@ -47,7 +47,7 @@ self = stdenv.mkDerivation {
|
|||
"ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
|
||||
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
|
||||
];
|
||||
sha256 = "0ka7rh00inkzkir6bz6shn8k91j5pinp03yh85bm54mi1iac439b";
|
||||
sha256 = "1g96y59bw10ml8h4jl259g41jdmf5ww3jbwqpz1sprq7hgxvmrz2";
|
||||
};
|
||||
|
||||
# TODO:
|
||||
|
|
|
@ -4,15 +4,15 @@
|
|||
|
||||
buildDunePackage rec {
|
||||
pname = "iter";
|
||||
version = "1.2.1";
|
||||
version = "1.3";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "c-cube";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0j2sg50byn0ppmf6l36ksip7zx1d3gv7sc4hbbxs2rmx39jr7vxh";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256:0xgkplpbi41sw0yv1wfd12cfbybls6cal8qxddmd9x8khgk5s3vx";
|
||||
};
|
||||
|
||||
buildInputs = [ dune-configurator ];
|
||||
|
|
42
pkgs/development/python-modules/aiosenz/default.nix
Normal file
42
pkgs/development/python-modules/aiosenz/default.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{ lib
|
||||
, authlib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, httpx
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiosenz";
|
||||
version = "1.0.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "milanmeu";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-ODdWPS14zzptxuS6mff51f0s1SYnIqjF40DmvT0sL0w=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
httpx
|
||||
authlib
|
||||
];
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"aiosenz"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python wrapper for the nVent Raychem SENZ RestAPI";
|
||||
homepage = "https://github.com/milanmeu/aiosenz";
|
||||
license = with licenses; [ lgpl3Plus ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "flux-led";
|
||||
version = "0.26.11";
|
||||
version = "0.27.7";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
|||
owner = "Danielhiversen";
|
||||
repo = "flux_led";
|
||||
rev = version;
|
||||
sha256 = "sha256-1+LS9pAJQsXzt5vC4vR2SBzC21GbLj8nZ8oF5CfVWSg=";
|
||||
sha256 = "sha256-Kb7g5UEmfCVQWQqRGoP2ty4aWQUAHYojr2fyOCbJwO8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -4,49 +4,86 @@
|
|||
tree-sitter-agda = lib.importJSON ./tree-sitter-agda.json;
|
||||
tree-sitter-bash = lib.importJSON ./tree-sitter-bash.json;
|
||||
tree-sitter-beancount = lib.importJSON ./tree-sitter-beancount.json;
|
||||
tree-sitter-bibtex = lib.importJSON ./tree-sitter-bibtex.json;
|
||||
tree-sitter-c = lib.importJSON ./tree-sitter-c.json;
|
||||
tree-sitter-c-sharp = lib.importJSON ./tree-sitter-c-sharp.json;
|
||||
tree-sitter-clojure = lib.importJSON ./tree-sitter-clojure.json;
|
||||
tree-sitter-cmake = lib.importJSON ./tree-sitter-cmake.json;
|
||||
tree-sitter-comment = lib.importJSON ./tree-sitter-comment.json;
|
||||
tree-sitter-commonlisp = lib.importJSON ./tree-sitter-commonlisp.json;
|
||||
tree-sitter-cpp = lib.importJSON ./tree-sitter-cpp.json;
|
||||
tree-sitter-css = lib.importJSON ./tree-sitter-css.json;
|
||||
tree-sitter-cuda = lib.importJSON ./tree-sitter-cuda.json;
|
||||
tree-sitter-dart = lib.importJSON ./tree-sitter-dart.json;
|
||||
tree-sitter-devicetree = lib.importJSON ./tree-sitter-devicetree.json;
|
||||
tree-sitter-dockerfile = lib.importJSON ./tree-sitter-dockerfile.json;
|
||||
tree-sitter-dot = lib.importJSON ./tree-sitter-dot.json;
|
||||
tree-sitter-elisp = lib.importJSON ./tree-sitter-elisp.json;
|
||||
tree-sitter-elixir = lib.importJSON ./tree-sitter-elixir.json;
|
||||
tree-sitter-elm = lib.importJSON ./tree-sitter-elm.json;
|
||||
tree-sitter-embedded-template = lib.importJSON ./tree-sitter-embedded-template.json;
|
||||
tree-sitter-erlang = lib.importJSON ./tree-sitter-erlang.json;
|
||||
tree-sitter-fennel = lib.importJSON ./tree-sitter-fennel.json;
|
||||
tree-sitter-fish = lib.importJSON ./tree-sitter-fish.json;
|
||||
tree-sitter-fluent = lib.importJSON ./tree-sitter-fluent.json;
|
||||
tree-sitter-fortran = lib.importJSON ./tree-sitter-fortran.json;
|
||||
tree-sitter-gdscript = lib.importJSON ./tree-sitter-gdscript.json;
|
||||
tree-sitter-glimmer = lib.importJSON ./tree-sitter-glimmer.json;
|
||||
tree-sitter-glsl = lib.importJSON ./tree-sitter-glsl.json;
|
||||
tree-sitter-go = lib.importJSON ./tree-sitter-go.json;
|
||||
tree-sitter-godot-resource = lib.importJSON ./tree-sitter-godot-resource.json;
|
||||
tree-sitter-gomod = lib.importJSON ./tree-sitter-gomod.json;
|
||||
tree-sitter-graphql = lib.importJSON ./tree-sitter-graphql.json;
|
||||
tree-sitter-haskell = lib.importJSON ./tree-sitter-haskell.json;
|
||||
tree-sitter-heex = lib.importJSON ./tree-sitter-heex.json;
|
||||
tree-sitter-hjson = lib.importJSON ./tree-sitter-hjson.json;
|
||||
tree-sitter-html = lib.importJSON ./tree-sitter-html.json;
|
||||
tree-sitter-http = lib.importJSON ./tree-sitter-http.json;
|
||||
tree-sitter-java = lib.importJSON ./tree-sitter-java.json;
|
||||
tree-sitter-javascript = lib.importJSON ./tree-sitter-javascript.json;
|
||||
tree-sitter-jsdoc = lib.importJSON ./tree-sitter-jsdoc.json;
|
||||
tree-sitter-json = lib.importJSON ./tree-sitter-json.json;
|
||||
tree-sitter-json5 = lib.importJSON ./tree-sitter-json5.json;
|
||||
tree-sitter-julia = lib.importJSON ./tree-sitter-julia.json;
|
||||
tree-sitter-kotlin = lib.importJSON ./tree-sitter-kotlin.json;
|
||||
tree-sitter-latex = lib.importJSON ./tree-sitter-latex.json;
|
||||
tree-sitter-ledger = lib.importJSON ./tree-sitter-ledger.json;
|
||||
tree-sitter-llvm = lib.importJSON ./tree-sitter-llvm.json;
|
||||
tree-sitter-lua = lib.importJSON ./tree-sitter-lua.json;
|
||||
tree-sitter-make = lib.importJSON ./tree-sitter-make.json;
|
||||
tree-sitter-markdown = lib.importJSON ./tree-sitter-markdown.json;
|
||||
tree-sitter-nix = lib.importJSON ./tree-sitter-nix.json;
|
||||
tree-sitter-norg = lib.importJSON ./tree-sitter-norg.json;
|
||||
tree-sitter-ocaml = lib.importJSON ./tree-sitter-ocaml.json;
|
||||
tree-sitter-perl = lib.importJSON ./tree-sitter-perl.json;
|
||||
tree-sitter-php = lib.importJSON ./tree-sitter-php.json;
|
||||
tree-sitter-pioasm = lib.importJSON ./tree-sitter-pioasm.json;
|
||||
tree-sitter-prisma = lib.importJSON ./tree-sitter-prisma.json;
|
||||
tree-sitter-pug = lib.importJSON ./tree-sitter-pug.json;
|
||||
tree-sitter-python = lib.importJSON ./tree-sitter-python.json;
|
||||
tree-sitter-ql = lib.importJSON ./tree-sitter-ql.json;
|
||||
tree-sitter-query = lib.importJSON ./tree-sitter-query.json;
|
||||
tree-sitter-r = lib.importJSON ./tree-sitter-r.json;
|
||||
tree-sitter-regex = lib.importJSON ./tree-sitter-regex.json;
|
||||
tree-sitter-rst = lib.importJSON ./tree-sitter-rst.json;
|
||||
tree-sitter-ruby = lib.importJSON ./tree-sitter-ruby.json;
|
||||
tree-sitter-rust = lib.importJSON ./tree-sitter-rust.json;
|
||||
tree-sitter-scala = lib.importJSON ./tree-sitter-scala.json;
|
||||
tree-sitter-scss = lib.importJSON ./tree-sitter-scss.json;
|
||||
tree-sitter-sparql = lib.importJSON ./tree-sitter-sparql.json;
|
||||
tree-sitter-supercollider = lib.importJSON ./tree-sitter-supercollider.json;
|
||||
tree-sitter-surface = lib.importJSON ./tree-sitter-surface.json;
|
||||
tree-sitter-svelte = lib.importJSON ./tree-sitter-svelte.json;
|
||||
tree-sitter-swift = lib.importJSON ./tree-sitter-swift.json;
|
||||
tree-sitter-tlaplus = lib.importJSON ./tree-sitter-tlaplus.json;
|
||||
tree-sitter-toml = lib.importJSON ./tree-sitter-toml.json;
|
||||
tree-sitter-tsq = lib.importJSON ./tree-sitter-tsq.json;
|
||||
tree-sitter-turtle = lib.importJSON ./tree-sitter-turtle.json;
|
||||
tree-sitter-typescript = lib.importJSON ./tree-sitter-typescript.json;
|
||||
tree-sitter-verilog = lib.importJSON ./tree-sitter-verilog.json;
|
||||
tree-sitter-vim = lib.importJSON ./tree-sitter-vim.json;
|
||||
tree-sitter-vue = lib.importJSON ./tree-sitter-vue.json;
|
||||
tree-sitter-yaml = lib.importJSON ./tree-sitter-yaml.json;
|
||||
tree-sitter-yang = lib.importJSON ./tree-sitter-yang.json;
|
||||
tree-sitter-zig = lib.importJSON ./tree-sitter-zig.json;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/latex-lsp/tree-sitter-bibtex",
|
||||
"rev": "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34",
|
||||
"date": "2021-03-26T15:53:50+01:00",
|
||||
"path": "/nix/store/pg00zy53rni7znda2vbyyhkkclgja3kq-tree-sitter-bibtex",
|
||||
"sha256": "0m7f3dkqbmy8x1bhl11m8f4p6n76wfvh99rp46zrqv39355nw1y2",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/uyha/tree-sitter-cmake",
|
||||
"rev": "f6616f1e417ee8b62daf251aa1daa5d73781c596",
|
||||
"date": "2021-10-13T08:19:43+02:00",
|
||||
"path": "/nix/store/p13qh130n5741wdfk2fbmy7ifd1z1zb2-tree-sitter-cmake",
|
||||
"sha256": "1b5cc84d0gjm8nb73gdvfjxbk9fjrfkd5aay3b0qvk6gar59pcj6",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/thehamsta/tree-sitter-commonlisp",
|
||||
"rev": "4fd115d3bb7046cd094f21bfe5766c302dbf64cd",
|
||||
"date": "2021-12-06T20:34:14+01:00",
|
||||
"path": "/nix/store/vmyfmgyhnx0ipi16d1w7sxsdkprybzk7-tree-sitter-commonlisp",
|
||||
"sha256": "1kmxmx93f34lba5g7kqa5fcijfak9zc9qydbid9dcqxw6kf65ncg",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/thehamsta/tree-sitter-cuda",
|
||||
"rev": "bc20ed7a36031437a69a88ef368af4b9f1ecec70",
|
||||
"date": "2021-12-10T00:43:38+01:00",
|
||||
"path": "/nix/store/zagrgq7zfh6n90z4qpp8cy002g588dhj-tree-sitter-cuda",
|
||||
"sha256": "04gnfjq5rd1vcby8737wxhzmg4vmn2ggjz6n94bbna8b96qc1xxj",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/joelspadin/tree-sitter-devicetree",
|
||||
"rev": "fa70098cd70393f84785f85cdc6a45299b59cd5b",
|
||||
"date": "2021-03-28T12:08:53-05:00",
|
||||
"path": "/nix/store/6nqsmnd75vwbvkj764vg5slkmjzkmdd9-tree-sitter-devicetree",
|
||||
"sha256": "0mr3q2l7js6csb1fp8xjysikj26l94p3mmsiik4qwnw5kg694yam",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/camdencheek/tree-sitter-dockerfile",
|
||||
"rev": "7af32bc04a66ab196f5b9f92ac471f29372ae2ce",
|
||||
"date": "2021-12-16T07:47:57-07:00",
|
||||
"path": "/nix/store/gh1pnracilf89q9z5czqr4z7lkd480xb-tree-sitter-dockerfile",
|
||||
"sha256": "06hy683mrp1jcg2ypd6msbmv0pm2z85y8nqxgrnbr9vbi6syvmp5",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/elixir-lang/tree-sitter-elixir",
|
||||
"rev": "1b3ecf7765979a5602bbb8988b8fc0d9f4c887d6",
|
||||
"date": "2021-12-15T23:29:48+01:00",
|
||||
"path": "/nix/store/ahdmwdlw7g63wf681cvclxh92mp8waba-tree-sitter-elixir",
|
||||
"sha256": "09kmi989hp2fp7w1xsambnlnp49fnnivdh45pwz9y3dab8iyngsn",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/elm-tooling/tree-sitter-elm",
|
||||
"rev": "8dd06afd9ca60a420374c6b65831e58a1d1237ad",
|
||||
"date": "2021-07-26T03:59:46+02:00",
|
||||
"path": "/nix/store/pz5nbdx19mdq6dp238l1qc3n81l2i88f-tree-sitter-elm",
|
||||
"sha256": "1mncr0nvb616zn2172pqcjd2jrqzyfad0y1pz2mwh8pqwfr0c3nf",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/abstractmachineslab/tree-sitter-erlang",
|
||||
"rev": "9d5fd0c329280a156bf7614a49dc5e8c58cc037c",
|
||||
"date": "2021-08-03T11:57:52+02:00",
|
||||
"path": "/nix/store/35ydhh12dgf4q016gjka35wnqnkwc1jg-tree-sitter-erlang",
|
||||
"sha256": "0d6wl95wgys21vcix6j0bf7l000glkmk1n6shgcnp4baw9wxh009",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/stadelmanma/tree-sitter-fortran",
|
||||
"rev": "f0f2f100952a353e64e26b0fa710b4c296d7af13",
|
||||
"date": "2021-09-02T21:24:27-04:00",
|
||||
"path": "/nix/store/5abj5miyzb7dvyq4zw0j1mxgdxqyj2yx-tree-sitter-fortran",
|
||||
"sha256": "17iiz38s7adkzv9rw97nn5nd9kvn1vyccm7r6ywipaa5aim0nm6a",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/prestonknopp/tree-sitter-gdscript",
|
||||
"rev": "eed1595d830407b49775aa33b871a9400e5a44e6",
|
||||
"date": "2021-11-27T11:52:11-08:00",
|
||||
"path": "/nix/store/spim2mz5frha9lfvrkgdwyrwsxm41fhs-tree-sitter-gdscript",
|
||||
"sha256": "1aymw5hi636wfngsvx6c0z8lpfdqfnh0xjh7avaq99npbg6sbn51",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/alexlafroscia/tree-sitter-glimmer",
|
||||
"rev": "5ed38d3cba65376e4734b0f1763c2f049ad5a1cf",
|
||||
"date": "2021-09-25T09:50:19-04:00",
|
||||
"path": "/nix/store/z0nhsn3v519mbxrhj5x1y7h7k7giviw2-tree-sitter-glimmer",
|
||||
"sha256": "0whij8420niywdi0lna8w5fizq30vhldz3wssisw91gjfdn8d9mz",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/thehamsta/tree-sitter-glsl",
|
||||
"rev": "26ba31a3f5a85ebed5d71e49eef11a003bed782b",
|
||||
"date": "2021-11-22T08:02:47+01:00",
|
||||
"path": "/nix/store/khlrphky7p7qdivnn34r8hxlpzgav3xm-tree-sitter-glsl",
|
||||
"sha256": "0qvn45whhd6q4wwqaihfd90197xr8lcynwjj418hxl83m9zy8xcz",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/prestonknopp/tree-sitter-godot-resource",
|
||||
"rev": "4ad1b796fb375c8e0fbf5b3cad57050b4372114f",
|
||||
"date": "2021-11-27T00:00:05-08:00",
|
||||
"path": "/nix/store/n9jcbf1rxzg9bqlmkhrjpx1pbqjq2bkg-tree-sitter-godot-resource",
|
||||
"sha256": "12ws3lslhm6aq52s3hvgrxrvyz1kfm6r5k8pfxf5nwbr3pxbndmw",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/camdencheek/tree-sitter-go-mod",
|
||||
"rev": "3cbcb572109ea0bc476a292208722c326c9e6c3a",
|
||||
"date": "2021-12-16T14:44:10-07:00",
|
||||
"path": "/nix/store/jxc3lqcxagfvlk7l62fg8z98mjrn7pgz-tree-sitter-go-mod",
|
||||
"sha256": "0csrvmpvihwmw3772j4lkj49myqqp0f7imi7c11h9x9szz3lc8x8",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/bkegley/tree-sitter-graphql",
|
||||
"rev": "5e66e961eee421786bdda8495ed1db045e06b5fe",
|
||||
"date": "2021-05-10T09:09:29-05:00",
|
||||
"path": "/nix/store/am2ld0br0yhdny5c2ndp6l0bl3c78wwq-tree-sitter-graphql",
|
||||
"sha256": "0xvrd6p9rxdjpqfq575ap6hpl2f7dad5i4d4m05w1qk9jx33vw9n",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/connorlay/tree-sitter-heex",
|
||||
"rev": "625a721ac38d9dd23d4f2b08eceb6700a2e670d5",
|
||||
"date": "2021-10-19T12:18:28-07:00",
|
||||
"path": "/nix/store/pr36q25xgnpmywm53w6rg58ygs9l93wj-tree-sitter-heex",
|
||||
"sha256": "1r7wrb1h2l35wp0hlswb3xpwcf55dr56r865sriq3ngv89y64yha",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/winston0410/tree-sitter-hjson",
|
||||
"rev": "02fa3b79b3ff9a296066da6277adfc3f26cbc9e0",
|
||||
"date": "2021-08-02T21:41:53+01:00",
|
||||
"path": "/nix/store/cvbkxylvkpgxcmkv87fvknlfxg4q09bg-tree-sitter-hjson",
|
||||
"sha256": "0zqf4bxqd2bpzdsw4kghq0jmn7l4sgdlrrlhc567b03p6kfdzi1n",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/ntbbloodbath/tree-sitter-http",
|
||||
"rev": "bfddd16b1cf78e0042fd1f6846a179f76a254e20",
|
||||
"date": "2021-11-04T16:44:58-04:00",
|
||||
"path": "/nix/store/l776a8vyhzg64pzna22hy96cia71l1sq-tree-sitter-http",
|
||||
"sha256": "0va7lxddkpbsjpbih4dwv6i9minnl2a4lq7i6dm3fk99c71y4ghg",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/joakker/tree-sitter-json5",
|
||||
"rev": "5dd5cdc418d9659682556b6adca2dd9ace0ac6d2",
|
||||
"date": "2021-08-24T18:08:31-04:00",
|
||||
"path": "/nix/store/0qhffwc84sp97d8im4lfrd06jsyvmzc4-tree-sitter-json5",
|
||||
"sha256": "1la7bq5vi21gy0kf4zpwh0c0jfyv1bb62a3v7158hnxdyd5ijz07",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/fwcd/tree-sitter-kotlin",
|
||||
"rev": "607af7be5606ad6580246cd9c68fc615e1ad97fd",
|
||||
"date": "2021-10-12T01:11:47+02:00",
|
||||
"path": "/nix/store/49cvpcypxjzpb0srcpd383ay9f0g19dy-tree-sitter-kotlin",
|
||||
"sha256": "1sisvx7cp95d309ykhimn8bhbwd1lzcwrpz3s0mdsb2i44p69469",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/cbarrete/tree-sitter-ledger",
|
||||
"rev": "0cdeb0e51411a3ba5493662952c3039de08939ca",
|
||||
"date": "2021-09-06T18:36:51-04:00",
|
||||
"path": "/nix/store/8gh6lfvqczb6n6ncnmszvk3kj527m75w-tree-sitter-ledger",
|
||||
"sha256": "1z0r2aphijzq6j67gb2lx2qr3fi2qpiz2x9dwkjvppdb4ch7ga7m",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/benwilliamgraham/tree-sitter-llvm",
|
||||
"rev": "d4f61bed8ecb632addcd5e088c4f4cb9c1bf1c5b",
|
||||
"date": "2021-10-03T12:19:51-04:00",
|
||||
"path": "/nix/store/k9vpa9lvrvf1im6wx0c0xyjf2yzgbn0x-tree-sitter-llvm",
|
||||
"sha256": "0iiigra7knvwsb6v76qs7vxpkmfnggakd27gl6sz9dm6gimp1adp",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"url": "https://github.com/alemuller/tree-sitter-make",
|
||||
"rev": "716c294283bc3dda263ccbdf55e38ec30aa0edba",
|
||||
"date": "2021-04-30T16:37:32-03:00",
|
||||
"path": "/nix/store/v2dvgqs3fxwh83dhc53xivrx8i0g519y-tree-sitter-make",
|
||||
"sha256": "1fb6rf6pc6mdawphifhlbzbgppxvq6hj48cz6073schvavgjgchc",
|
||||
"rev": "a4b9187417d6be349ee5fd4b6e77b4172c6827dd",
|
||||
"date": "2021-12-16T17:14:17+00:00",
|
||||
"path": "/nix/store/v01s3lfi1w3bm433gf6zi0wb0r603906-tree-sitter-make",
|
||||
"sha256": "07gz4x12xhigar2plr3jgazb2z4f9xp68nscmvy9a7wafak9l2m9",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/ganezdragon/tree-sitter-perl",
|
||||
"rev": "0ac2c6da562c7a2c26ed7e8691d4a590f7e8b90a",
|
||||
"date": "2021-11-01T14:40:51-04:00",
|
||||
"path": "/nix/store/1yzkap7jvps3xdj19pygyv1bn6c33qak-tree-sitter-perl",
|
||||
"sha256": "184zaicrl9i4cywhyc2cxpghw7daz9pi0fhwkkgpv7j6kvp1ig2w",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/leo60228/tree-sitter-pioasm",
|
||||
"rev": "924aadaf5dea2a6074d72027b064f939acf32e20",
|
||||
"date": "2021-08-27T17:22:56-04:00",
|
||||
"path": "/nix/store/nhxzw33vljxh5i90d0fb5nzdfjp5h9bl-tree-sitter-pioasm",
|
||||
"sha256": "1lxvgc0zkd2sv8dxp2fy6b1k3gqrbkxgqy25lw9sbd4kij7463m2",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/victorhqc/tree-sitter-prisma",
|
||||
"rev": "74a721e8eed1a4a25cf495d45974ba24f315f81a",
|
||||
"date": "2021-11-19T19:52:32+01:00",
|
||||
"path": "/nix/store/rbr2p57ic1kn0121ca6k0bh2r8svw066-tree-sitter-prisma",
|
||||
"sha256": "1b8yil6v9jz9ndx2kzln639fkjkj1xb0qfcip1njxcq5mlqlfswd",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/zealot128/tree-sitter-pug",
|
||||
"rev": "5875f9a7d94836708119b0a1102bb5792e8bf673",
|
||||
"date": "2021-07-13T22:48:45+02:00",
|
||||
"path": "/nix/store/3bwj01nmxkd4cmvjyrfv2a6wq07hbqig-tree-sitter-pug",
|
||||
"sha256": "1sjw632yidi8dq34g1nqmld9861j40qnrlg4c8w478kl8hmhnvmb",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/nvim-treesitter/tree-sitter-query",
|
||||
"rev": "9a2ccff9f672f1f3d320cf925b8e5acc89b27055",
|
||||
"date": "2021-07-13T08:51:40-05:00",
|
||||
"path": "/nix/store/k843gr9rlkd5jaf9arvlwcs31wsznn81-tree-sitter-query",
|
||||
"sha256": "0x5ssq8pb767s1l68123jaa5p4570xmz74ii94kckd46wmqbk4v9",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/r-lib/tree-sitter-r",
|
||||
"rev": "91f587e5685f46e26f9f6e55f2e06d503f8f0fc0",
|
||||
"date": "2021-12-03T10:44:27-05:00",
|
||||
"path": "/nix/store/z89yfih6g05fkrzz6s7snkyqp8wj8pi5-tree-sitter-r",
|
||||
"sha256": "0dds34vgrvgxi1918a2w6xcw5l8n9ch3qi43vql769p8zxf8qijp",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/serenadeai/tree-sitter-scss",
|
||||
"rev": "f3174d3d131eb776f86dfa3d90fe6f7325c0ad9a",
|
||||
"date": "2021-11-08T17:21:33-08:00",
|
||||
"path": "/nix/store/qpmqd6a3rnrp451b5jjmqqwark276smj-tree-sitter-scss",
|
||||
"sha256": "0c8mx5fxcfn8wn361i7pnr3xga7vm2jjj99ilkqljir71nl6bm11",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/bonabeavis/tree-sitter-sparql",
|
||||
"rev": "05f949d3c1c15e3261473a244d3ce87777374dec",
|
||||
"date": "2021-08-16T15:50:03+02:00",
|
||||
"path": "/nix/store/vvgvb1jcv0qrn3xj0jbf83qwi1lh2m68-tree-sitter-sparql",
|
||||
"sha256": "012c1pi4vc6hkvllymvl2yah3ix8k4pi7997iydy949fc33aa5i8",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/madskjeldgaard/tree-sitter-supercollider",
|
||||
"rev": "df3b6210bad8f352515cd0c92aadb1e63802283b",
|
||||
"date": "2021-12-15T19:44:59+01:00",
|
||||
"path": "/nix/store/01jd9nc524mi1snkp9ln9s8xyh98bhzf-tree-sitter-supercollider",
|
||||
"sha256": "04jd3vc0965c3nwy0d61cdj9gp7drabd8d35g63vyz9s9kr29vv2",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/connorlay/tree-sitter-surface",
|
||||
"rev": "21b7676859c1187645a27ff301f76738af5dfd44",
|
||||
"date": "2021-08-15T10:33:50-07:00",
|
||||
"path": "/nix/store/7i1klj80jbcvwgad7nrbcs7hvn68f125-tree-sitter-surface",
|
||||
"sha256": "122v1d2zb0w2k5h7xqgm1c42rwfrp59dzyb2lly7kxmylyazmshy",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/tlaplus-community/tree-sitter-tlaplus",
|
||||
"rev": "26bbaf5d07356cacbf21defa9316988bc732c8b3",
|
||||
"date": "2021-10-12T19:50:03-04:00",
|
||||
"path": "/nix/store/52rs1n8y6krfkb9z2h7jsl4s3j15dp08-tree-sitter-tlaplus",
|
||||
"sha256": "1yj2hjc48sjjpysjgyji7nx2l0rpc5dnsm68i8amff5wcag5lyhw",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/bonabeavis/tree-sitter-turtle",
|
||||
"rev": "085437f5cb117703b7f520dd92161140a684f092",
|
||||
"date": "2021-08-16T15:17:50+02:00",
|
||||
"path": "/nix/store/c90hph3wfyhjmri3qbfb5lpy1bl855zv-tree-sitter-turtle",
|
||||
"sha256": "1l5djvz90sq9w14kfcrffdigqs61r1p8v17xpj92sxz8z3ngpgmr",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/ikatyang/tree-sitter-vue",
|
||||
"rev": "91fe2754796cd8fba5f229505a23fa08f3546c06",
|
||||
"date": "2021-04-04T11:51:48+08:00",
|
||||
"path": "/nix/store/9bw35fa56xli7r2k3b3bzzlm7vkpxzcy-tree-sitter-vue",
|
||||
"sha256": "0l0kqy9ajm5izqcywd39aavgmc281s8qrhmjkbwl6r8arfj8vsrm",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"url": "https://github.com/hubro/tree-sitter-yang",
|
||||
"rev": "8e9d175982afcefa3dac8ca20d40d1643accd2bd",
|
||||
"date": "2021-07-29T23:07:25+02:00",
|
||||
"path": "/nix/store/ark7nssjv3jzy1kw9anlma7li5k9zpnb-tree-sitter-yang",
|
||||
"sha256": "044q9fikaxnrcrnfwc7cfjnwdg6v7jb6rg7mj556iryv0bkv48s1",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": false,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
|
@ -1,6 +1,12 @@
|
|||
{ writeShellScript, nix-prefetch-git, formats, lib
|
||||
, curl, jq, xe
|
||||
, src }:
|
||||
{ writeShellScript
|
||||
, nix-prefetch-git
|
||||
, formats
|
||||
, lib
|
||||
, curl
|
||||
, jq
|
||||
, xe
|
||||
, src
|
||||
}:
|
||||
|
||||
# Grammar list:
|
||||
# https://github.com/tree-sitter/tree-sitter/blob/master/docs/index.md
|
||||
|
@ -150,38 +156,188 @@ let
|
|||
orga = "nvim-neorg";
|
||||
repo = "tree-sitter-norg";
|
||||
};
|
||||
"tree-sitter-commonlisp" = {
|
||||
orga = "thehamsta";
|
||||
repo = "tree-sitter-commonlisp";
|
||||
};
|
||||
"tree-sitter-cuda" = {
|
||||
orga = "thehamsta";
|
||||
repo = "tree-sitter-cuda";
|
||||
};
|
||||
"tree-sitter-glsl" = {
|
||||
orga = "thehamsta";
|
||||
repo = "tree-sitter-glsl";
|
||||
};
|
||||
"tree-sitter-dockerfile" = {
|
||||
orga = "camdencheek";
|
||||
repo = "tree-sitter-dockerfile";
|
||||
};
|
||||
"tree-sitter-ledger" = {
|
||||
orga = "cbarrete";
|
||||
repo = "tree-sitter-ledger";
|
||||
};
|
||||
"tree-sitter-gomod" = {
|
||||
orga = "camdencheek";
|
||||
repo = "tree-sitter-go-mod";
|
||||
};
|
||||
"tree-sitter-graphql" = {
|
||||
orga = "bkegley";
|
||||
repo = "tree-sitter-graphql";
|
||||
};
|
||||
"tree-sitter-perl" = {
|
||||
orga = "ganezdragon";
|
||||
repo = "tree-sitter-perl";
|
||||
};
|
||||
"tree-sitter-kotlin" = {
|
||||
orga = "fwcd";
|
||||
repo = "tree-sitter-kotlin";
|
||||
};
|
||||
"tree-sitter-scss" = {
|
||||
orga = "serenadeai";
|
||||
repo = "tree-sitter-scss";
|
||||
};
|
||||
"tree-sitter-erlang" = {
|
||||
orga = "abstractmachineslab";
|
||||
repo = "tree-sitter-erlang";
|
||||
};
|
||||
"tree-sitter-elixir" = {
|
||||
orga = "elixir-lang";
|
||||
repo = "tree-sitter-elixir";
|
||||
};
|
||||
"tree-sitter-surface" = {
|
||||
orga = "connorlay";
|
||||
repo = "tree-sitter-surface";
|
||||
};
|
||||
"tree-sitter-heex" = {
|
||||
orga = "connorlay";
|
||||
repo = "tree-sitter-heex";
|
||||
};
|
||||
"tree-sitter-supercollider" = {
|
||||
orga = "madskjeldgaard";
|
||||
repo = "tree-sitter-supercollider";
|
||||
};
|
||||
"tree-sitter-tlaplus" = {
|
||||
orga = "tlaplus-community";
|
||||
repo = "tree-sitter-tlaplus";
|
||||
};
|
||||
"tree-sitter-glimmer" = {
|
||||
orga = "alexlafroscia";
|
||||
repo = "tree-sitter-glimmer";
|
||||
};
|
||||
"tree-sitter-pug" = {
|
||||
orga = "zealot128";
|
||||
repo = "tree-sitter-pug";
|
||||
};
|
||||
"tree-sitter-vue" = {
|
||||
orga = "ikatyang";
|
||||
repo = "tree-sitter-vue";
|
||||
};
|
||||
"tree-sitter-elm" = {
|
||||
orga = "elm-tooling";
|
||||
repo = "tree-sitter-elm";
|
||||
};
|
||||
"tree-sitter-yang" = {
|
||||
orga = "hubro";
|
||||
repo = "tree-sitter-yang";
|
||||
};
|
||||
"tree-sitter-query" = {
|
||||
orga = "nvim-treesitter";
|
||||
repo = "tree-sitter-query";
|
||||
};
|
||||
"tree-sitter-sparql" = {
|
||||
orga = "bonabeavis";
|
||||
repo = "tree-sitter-sparql";
|
||||
};
|
||||
"tree-sitter-gdscript" = {
|
||||
orga = "prestonknopp";
|
||||
repo = "tree-sitter-gdscript";
|
||||
};
|
||||
"tree-sitter-godot-resource" = {
|
||||
orga = "prestonknopp";
|
||||
repo = "tree-sitter-godot-resource";
|
||||
};
|
||||
"tree-sitter-turtle" = {
|
||||
orga = "bonabeavis";
|
||||
repo = "tree-sitter-turtle";
|
||||
};
|
||||
"tree-sitter-devicetree" = {
|
||||
orga = "joelspadin";
|
||||
repo = "tree-sitter-devicetree";
|
||||
};
|
||||
"tree-sitter-r" = {
|
||||
orga = "r-lib";
|
||||
repo = "tree-sitter-r";
|
||||
};
|
||||
"tree-sitter-bibtex" = {
|
||||
orga = "latex-lsp";
|
||||
repo = "tree-sitter-bibtex";
|
||||
};
|
||||
"tree-sitter-fortran" = {
|
||||
orga = "stadelmanma";
|
||||
repo = "tree-sitter-fortran";
|
||||
};
|
||||
"tree-sitter-cmake" = {
|
||||
orga = "uyha";
|
||||
repo = "tree-sitter-cmake";
|
||||
};
|
||||
"tree-sitter-json5" = {
|
||||
orga = "joakker";
|
||||
repo = "tree-sitter-json5";
|
||||
};
|
||||
"tree-sitter-pioasm" = {
|
||||
orga = "leo60228";
|
||||
repo = "tree-sitter-pioasm";
|
||||
};
|
||||
"tree-sitter-hjson" = {
|
||||
orga = "winston0410";
|
||||
repo = "tree-sitter-hjson";
|
||||
};
|
||||
"tree-sitter-llvm" = {
|
||||
orga = "benwilliamgraham";
|
||||
repo = "tree-sitter-llvm";
|
||||
};
|
||||
"tree-sitter-http" = {
|
||||
orga = "ntbbloodbath";
|
||||
repo = "tree-sitter-http";
|
||||
};
|
||||
"tree-sitter-prisma" = {
|
||||
orga = "victorhqc";
|
||||
repo = "tree-sitter-prisma";
|
||||
};
|
||||
};
|
||||
|
||||
allGrammars =
|
||||
let
|
||||
treeSitterOrgaGrammars =
|
||||
lib.listToAttrs (map (repo:
|
||||
{ name = repo;
|
||||
value = {
|
||||
orga = "tree-sitter";
|
||||
inherit repo;
|
||||
};
|
||||
})
|
||||
knownTreeSitterOrgGrammarRepos);
|
||||
lib.listToAttrs (map
|
||||
(repo:
|
||||
{
|
||||
name = repo;
|
||||
value = {
|
||||
orga = "tree-sitter";
|
||||
inherit repo;
|
||||
};
|
||||
})
|
||||
knownTreeSitterOrgGrammarRepos);
|
||||
|
||||
in
|
||||
mergeAttrsUnique otherGrammars treeSitterOrgaGrammars;
|
||||
mergeAttrsUnique otherGrammars treeSitterOrgaGrammars;
|
||||
|
||||
# TODO: move to lib
|
||||
mergeAttrsUnique = left: right:
|
||||
let intersect = lib.intersectLists (lib.attrNames left) (lib.attrNames right); in
|
||||
assert
|
||||
lib.assertMsg (intersect == [])
|
||||
(lib.concatStringsSep "\n" [
|
||||
"mergeAttrsUnique: keys in attrset overlapping:"
|
||||
"left: ${lib.generators.toPretty {} (lib.getAttrs intersect left)}"
|
||||
"right: ${lib.generators.toPretty {} (lib.getAttrs intersect right)}"
|
||||
]);
|
||||
lib.assertMsg (intersect == [ ])
|
||||
(lib.concatStringsSep "\n" [
|
||||
"mergeAttrsUnique: keys in attrset overlapping:"
|
||||
"left: ${lib.generators.toPretty {} (lib.getAttrs intersect left)}"
|
||||
"right: ${lib.generators.toPretty {} (lib.getAttrs intersect right)}"
|
||||
]);
|
||||
left // right;
|
||||
|
||||
|
||||
|
||||
jsonFile = name: val: (formats.json {}).generate name val;
|
||||
jsonFile = name: val: (formats.json { }).generate name val;
|
||||
|
||||
# check the tree-sitter orga repos
|
||||
checkTreeSitterRepos = writeShellScript "get-grammars.sh" ''
|
||||
|
@ -244,11 +400,11 @@ let
|
|||
--no-deepClone \
|
||||
--url "https://github.com/${urlEscape orga}/${urlEscape repo}" \
|
||||
--rev "$latest"
|
||||
'';
|
||||
'';
|
||||
|
||||
foreachSh = attrs: f:
|
||||
lib.concatMapStringsSep "\n" f
|
||||
(lib.mapAttrsToList (k: v: { name = k; } // v) attrs);
|
||||
(lib.mapAttrsToList (k: v: { name = k; } // v) attrs);
|
||||
|
||||
update-all-grammars = writeShellScript "update-all-grammars.sh" ''
|
||||
set -euo pipefail
|
||||
|
@ -270,4 +426,5 @@ let
|
|||
> "$outputDir/default.nix"
|
||||
'';
|
||||
|
||||
in update-all-grammars
|
||||
in
|
||||
update-all-grammars
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
{ stdenv, lib, fetchurl, ncurses }:
|
||||
{ stdenv, lib, fetchFromGitHub, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cpustat";
|
||||
version = "0.02.09";
|
||||
version = "0.02.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "12xahv65yrhs5r830clkl1qnwg3dnrk5qn3zsznzbv1iy2f3cj7y";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ColinIanKing";
|
||||
repo = pname;
|
||||
rev = "V${version}";
|
||||
hash = "sha256-4HDXRtklzQSsywCGCTKdz6AtZta9R1mx7qkT7skX6Kc=";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses ];
|
||||
|
@ -14,11 +16,12 @@ stdenv.mkDerivation rec {
|
|||
installFlags = [
|
||||
"BINDIR=${placeholder "out"}/bin"
|
||||
"MANDIR=${placeholder "out"}/share/man/man8"
|
||||
"BASHDIR=${placeholder "out"}/share/bash-completion/completions"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "CPU usage monitoring tool";
|
||||
homepage = "https://kernel.ubuntu.com/~cking/cpustat/";
|
||||
homepage = "https://github.com/ColinIanKing/cpustat";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ dtzWill ];
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, jasper
|
||||
, libpng
|
||||
, libjpeg
|
||||
|
@ -9,13 +9,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aaphoto";
|
||||
version = "0.43.1";
|
||||
version = "0.45";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "log69";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-qngWWqV2vLm1gO0KJ0uHOCf2IoEAs1oiygpJtDvt3s8=";
|
||||
src = fetchurl {
|
||||
url = "http://log69.com/downloads/aaphoto_sources_${version}.tar.gz";
|
||||
sha256 = "sha256-06koJM7jNVFqVgqg6BmOZ74foqk6yjUIFnwULzPZ4go=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, rustPlatform
|
||||
, libiconv
|
||||
, Security
|
||||
|
@ -9,24 +10,37 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "atuin";
|
||||
version = "0.7.1";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ellie";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-jjGP8YeHnEr0f9RONwA6wZT872C0jXTvSRdt9zAu6KE=";
|
||||
sha256 = "sha256-I/ZDaOAiHdWOkmf+jIWWxZ3C25UHsl6MB7mCRLADFNs=";
|
||||
};
|
||||
|
||||
cargoSha256 = "0vy6q3hjp374lyg00zxim8aplh83iq3f4rrmpz5vnpwbag1fdql3";
|
||||
cargoSha256 = "sha256-KMss6Mpn4LHnkhtJyRea+D7mKItBK4lqq9syFEmCiFo=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security SystemConfiguration ];
|
||||
|
||||
postInstall = ''
|
||||
HOME=$(mktemp -d)
|
||||
for shell in bash fish zsh; do
|
||||
$out/bin/atuin gen-completions -s $shell -o .
|
||||
done
|
||||
|
||||
installShellCompletion --cmd atuin \
|
||||
--bash atuin.bash \
|
||||
--fish atuin.fish \
|
||||
--zsh _atuin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Replacement for a shell history which records additional commands context with optional encrypted synchronization between machines";
|
||||
homepage = "https://github.com/ellie/atuin";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.onsails ];
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
maintainers = with maintainers; [ onsails SuperSandro2000 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -34,6 +34,9 @@ stdenv.mkDerivation {
|
|||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
# Stripping causes SEGFAULT on x86_64-darwin
|
||||
dontStrip = true;
|
||||
|
||||
meta = {
|
||||
description = "Allows you to expose a web server running on your local machine to the internet";
|
||||
homepage = "https://ngrok.com/";
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "log4j-scan";
|
||||
version = "unstable-2021-12-14";
|
||||
version = "unstable-2021-12-18";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fullhunt";
|
||||
repo = pname;
|
||||
rev = "7be0f1c02ce3494469dc73a177e6f0c96f0016d9";
|
||||
sha256 = "sha256-HazxK0wJ8xeFauD2xOxmOwWw1nEpQh+QdcBVZNaUgrM=";
|
||||
rev = "070fbd00f0945645bd5e0daa199a554ef3884b95";
|
||||
sha256 = "sha256-ORSc4KHyAMjuA7QHReDh6SYY5yZRunBBN1+lkCayqL4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
|
|
@ -386,6 +386,8 @@ in {
|
|||
|
||||
aiorun = callPackage ../development/python-modules/aiorun { };
|
||||
|
||||
aiosenz = callPackage ../development/python-modules/aiosenz { };
|
||||
|
||||
aioserial = callPackage ../development/python-modules/aioserial { };
|
||||
|
||||
aioshelly = callPackage ../development/python-modules/aioshelly { };
|
||||
|
|
Loading…
Reference in a new issue