Merge staging-next into staging
This commit is contained in:
commit
867440983f
47 changed files with 253 additions and 472 deletions
|
@ -45,6 +45,7 @@
|
|||
else if withAthena then "athena"
|
||||
else "lucid")
|
||||
, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd
|
||||
, withTreeSitter ? lib.versionAtLeast version "29", tree-sitter ? null
|
||||
}:
|
||||
|
||||
assert (libXft != null) -> libpng != null; # probably a bug
|
||||
|
@ -58,6 +59,7 @@ assert withGTK2 -> !withGTK3 && gtk2-x11 != null && !withPgtk;
|
|||
assert withGTK3 -> !withGTK2 && ((gtk3-x11 != null) || withPgtk);
|
||||
assert withPgtk -> withGTK3 && !withX && gtk3 != null;
|
||||
assert withXwidgets -> withGTK3 && webkitgtk != null;
|
||||
assert withTreeSitter -> tree-sitter != null;
|
||||
|
||||
|
||||
(if withMacport then llvmPackages_6.stdenv else stdenv).mkDerivation (finalAttrs: (lib.optionalAttrs nativeComp {
|
||||
|
@ -164,7 +166,8 @@ assert withXwidgets -> withGTK3 && webkitgtk != null;
|
|||
ImageCaptureCore GSS ImageIO
|
||||
]
|
||||
++ lib.optionals stdenv.isDarwin [ sigtool ]
|
||||
++ lib.optionals nativeComp [ libgccjit ];
|
||||
++ lib.optionals nativeComp [ libgccjit ]
|
||||
++ lib.optionals withTreeSitter [ tree-sitter ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
|
@ -193,6 +196,7 @@ assert withXwidgets -> withGTK3 && webkitgtk != null;
|
|||
++ lib.optional withImageMagick "--with-imagemagick"
|
||||
++ lib.optional withXinput2 "--with-xinput2"
|
||||
++ lib.optional (!withToolkitScrollBars) "--without-toolkit-scroll-bars"
|
||||
++ lib.optional withTreeSitter "--with-tree-sitter"
|
||||
;
|
||||
|
||||
installTargets = [ "tags" "install" ];
|
||||
|
@ -241,6 +245,7 @@ assert withXwidgets -> withGTK3 && webkitgtk != null;
|
|||
|
||||
passthru = {
|
||||
inherit nativeComp;
|
||||
treeSitter = withTreeSitter;
|
||||
pkgs = recurseIntoAttrs (emacsPackagesFor finalAttrs.finalPackage);
|
||||
tests = { inherit (nixosTests) emacs-daemon; };
|
||||
};
|
||||
|
|
|
@ -12,12 +12,12 @@ let
|
|||
if extension == "zip" then fetchzip args else fetchurl args;
|
||||
|
||||
pname = "1password-cli";
|
||||
version = "2.14.0";
|
||||
version = "2.15.0";
|
||||
sources = rec {
|
||||
aarch64-linux = fetch "linux_arm64" "sha256-Pmfdz6jGWuRS76/35/+Al5gAbJ7rFyQQLB9tQr1Ecv8=" "zip";
|
||||
i686-linux = fetch "linux_386" "sha256-UQfoof5yuSiMjIWcbSuE45dhJ41MionPcMn8uAwP6I8=" "zip";
|
||||
x86_64-linux = fetch "linux_amd64" "sha256-sx3wgAvazgWjSQMQxVE0irDXCNnDAPBivKQTUC3bZ08=" "zip";
|
||||
aarch64-darwin = fetch "apple_universal" "sha256-pFoOoE329jSzshaHo/XFTIirKsxfdz1yOA0Ljb9VNkY=" "pkg";
|
||||
aarch64-linux = fetch "linux_arm64" "sha256-D+i+RrPBwFHDL7ExiZUL/xc7vBcfHI7C6z0gNIs/Brs=" "zip";
|
||||
i686-linux = fetch "linux_386" "sha256-Y19dbv9eQJF3V+94bByfWLUeDuJ78fUM9vJf1/Nd3rI=" "zip";
|
||||
x86_64-linux = fetch "linux_amd64" "sha256-Mxp6wCwBUNNucN0W0awghUzg2OQTkrwXsZgS/nVP41M=" "zip";
|
||||
aarch64-darwin = fetch "apple_universal" "sha256-KJVXW2Ze1AmDWNeTEfr7SsZMBmLyMfBv/FgC+XAds0A=" "pkg";
|
||||
x86_64-darwin = aarch64-darwin;
|
||||
};
|
||||
platforms = builtins.attrNames sources;
|
||||
|
|
|
@ -210,11 +210,11 @@
|
|||
"vendorHash": null
|
||||
},
|
||||
"cloudamqp": {
|
||||
"hash": "sha256-gUOWUvdlmn+u6IL6UrzA8MKErl43VmtIqnilzUTKuis=",
|
||||
"hash": "sha256-W+TuJhLP1bFTjSzLrkq9cqtt4uQB0yA/evFi8p4P0vs=",
|
||||
"homepage": "https://registry.terraform.io/providers/cloudamqp/cloudamqp",
|
||||
"owner": "cloudamqp",
|
||||
"repo": "terraform-provider-cloudamqp",
|
||||
"rev": "v1.24.0",
|
||||
"rev": "v1.24.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-V5nI7B45VJb7j7AoPrKQknJbVW5C9oyDs9q2u8LXD+M="
|
||||
},
|
||||
|
@ -420,11 +420,11 @@
|
|||
"vendorHash": "sha256-uWTY8cFztXFrQQ7GW6/R+x9M6vHmsb934ldq+oeW5vk="
|
||||
},
|
||||
"github": {
|
||||
"hash": "sha256-GieysqBcXSgHuT13FqDtPPklFPRBREwMrTZZ7QH14pY=",
|
||||
"hash": "sha256-5HOGOISVozkwJU1/CRpzBOqChWEG3TTNrE5tssgWtH8=",
|
||||
"homepage": "https://registry.terraform.io/providers/integrations/github",
|
||||
"owner": "integrations",
|
||||
"repo": "terraform-provider-github",
|
||||
"rev": "v5.18.0",
|
||||
"rev": "v5.18.3",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
@ -621,11 +621,11 @@
|
|||
"vendorHash": "sha256-UnWHUD9T4nTT6Y2UrvBIdIk9eA8l0vWJ/IpEY3PIzDU="
|
||||
},
|
||||
"ksyun": {
|
||||
"hash": "sha256-mq0wE9jkn67HFyg0MgtD9lY7lk0+4/rnPLJ4mXX0xwY=",
|
||||
"hash": "sha256-1P4iv9UbSUepsKP+xKvy+YTHAIemMkwQruTrHyAsxsI=",
|
||||
"homepage": "https://registry.terraform.io/providers/kingsoftcloud/ksyun",
|
||||
"owner": "kingsoftcloud",
|
||||
"repo": "terraform-provider-ksyun",
|
||||
"rev": "v1.3.66",
|
||||
"rev": "v1.3.67",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-miHKAz+ONXtuC1DNukcyZbbaYReY69dz9Zk6cJdORdQ="
|
||||
},
|
||||
|
@ -783,13 +783,13 @@
|
|||
"vendorHash": "sha256-3t8pUAwuVeZN5cYGs72YsdRvJunudSmKSldFWEFVA/4="
|
||||
},
|
||||
"ns1": {
|
||||
"hash": "sha256-fPeWs1VMsCY+OywHdwP9EUyjpoTYquBqP8W08Z/0DAA=",
|
||||
"hash": "sha256-F7nKtDlVnW7jDPTeszYv9aYMAnHo2/k+MxsXdjghS88=",
|
||||
"homepage": "https://registry.terraform.io/providers/ns1-terraform/ns1",
|
||||
"owner": "ns1-terraform",
|
||||
"repo": "terraform-provider-ns1",
|
||||
"rev": "v2.0.0",
|
||||
"rev": "v2.0.2",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-R4q9ASqTdKv4BG4zNktKsLxa6UU42UzWTLYHuRnJ4Zg="
|
||||
"vendorHash": "sha256-dGHT3mq5a+3KhNZQkYZ+HYrqxR9YT7Yn64UkmE0vz6M="
|
||||
},
|
||||
"null": {
|
||||
"hash": "sha256-ExXDbAXMVCTZBlYmi4kD/7JFB1fCFAoPL637+1N6rEI=",
|
||||
|
@ -1045,13 +1045,13 @@
|
|||
"vendorHash": "sha256-NO1r/EWLgH1Gogru+qPeZ4sW7FuDENxzNnpLSKstnE8="
|
||||
},
|
||||
"spotinst": {
|
||||
"hash": "sha256-a/WXuEIvFsbYGoIDT0vHNM1LoFs7VlqmGXHDszON/rU=",
|
||||
"hash": "sha256-mbqnFKxHSh4IF+zPpT2wIz1/dJKpuM7TUHS0Cvt/srg=",
|
||||
"homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
|
||||
"owner": "spotinst",
|
||||
"repo": "terraform-provider-spotinst",
|
||||
"rev": "v1.105.0",
|
||||
"rev": "v1.106.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-juso8uzTjqf/vxUmpiv/07WkqMJRS1CqHQhu6pHf7QY="
|
||||
"vendorHash": "sha256-TxTw+13HJDHDdLhGjM3SXOL87RJdRFs0Y+t/oK81DfI="
|
||||
},
|
||||
"stackpath": {
|
||||
"hash": "sha256-7KQUddq+M35WYyAIAL8sxBjAaXFcsczBRO1R5HURUZg=",
|
||||
|
@ -1090,20 +1090,20 @@
|
|||
"vendorHash": "sha256-2wPmLpjhG6QgG+BUCO0oIzHjBOWIOYuptgdtSIm9TZw="
|
||||
},
|
||||
"talos": {
|
||||
"hash": "sha256-Uj4UlxPvI80og/wJPtQgyrejXLcfc6R4IJfsXiVNm+Y=",
|
||||
"hash": "sha256-/Ml+Vsh50U5CoVdnls69iTPoSPpgAtOpO2hWlcmbyKw=",
|
||||
"homepage": "https://registry.terraform.io/providers/siderolabs/talos",
|
||||
"owner": "siderolabs",
|
||||
"repo": "terraform-provider-talos",
|
||||
"rev": "v0.1.1",
|
||||
"rev": "v0.1.2",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-tltQNtTsPoT5CTrKM7vLDVkmmW2FTd6MBubfXZveGxI="
|
||||
"vendorHash": "sha256-GkmUKSnqkabwGCl22/90529BWb0oJaIJHYHlS/h3KNY="
|
||||
},
|
||||
"tencentcloud": {
|
||||
"hash": "sha256-+VzUyIDQcDyoMVH113cMd6jCUIsAIw/Ir1wM+/YIefM=",
|
||||
"hash": "sha256-iQHueKyp1bYj5/hRDmUFENSc5V7Q3+eq3mmYGIvPOG8=",
|
||||
"homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
|
||||
"owner": "tencentcloudstack",
|
||||
"repo": "terraform-provider-tencentcloud",
|
||||
"rev": "v1.79.14",
|
||||
"rev": "v1.79.15",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
@ -1254,12 +1254,12 @@
|
|||
"vendorHash": "sha256-ib1Esx2AO7b9S+v+zzuATgSVHI3HVwbzEeyqhpBz1BQ="
|
||||
},
|
||||
"yandex": {
|
||||
"hash": "sha256-0P8R0L5PGrDKWGd92OkKi9WCfMK5IrdYJyoINaZWZjc=",
|
||||
"hash": "sha256-XT31rLurZAvjE08cAGIkd7pcS1LMdOIU6e60qLrLsXI=",
|
||||
"homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
|
||||
"owner": "yandex-cloud",
|
||||
"proxyVendor": true,
|
||||
"repo": "terraform-provider-yandex",
|
||||
"rev": "v0.86.0",
|
||||
"rev": "v0.87.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-r2+ARKvTghscGBhmZpz84vdBudiy2OsmQR03oDz5gbs="
|
||||
}
|
||||
|
|
|
@ -19,16 +19,16 @@
|
|||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mullvad";
|
||||
version = "2023.1";
|
||||
version = "2023.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mullvad";
|
||||
repo = "mullvadvpn-app";
|
||||
rev = version;
|
||||
hash = "sha256-BoduliiDOpzEPYHAjr636e7DbrhFnC/v9au6Mp9T/Qs=";
|
||||
hash = "sha256-UozgUsew6MRplahTW/y688R2VetO50UGQevmVo8/QNs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-5kK2IA0Z1dQbHlnGXNZHD+BycurshfpqrwcIEveWKT0=";
|
||||
cargoHash = "sha256-/DYEG/8FlDbyWsvnxM+0tbKG4/DbwEnNX2KiC3ryyGI=";
|
||||
|
||||
patches = [
|
||||
# https://github.com/mullvad/mullvadvpn-app/pull/4389
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
tools/python/install-wrap script brakes shebangs patching, disable
|
||||
|
||||
diff --git a/tools/Rules.mk b/tools/Rules.mk
|
||||
index 87a56dc..a7da869 100644
|
||||
--- a/tools/Rules.mk
|
||||
+++ b/tools/Rules.mk
|
||||
@@ -90,8 +90,7 @@ CFLAGS += $(CFLAGS-y)
|
||||
|
||||
CFLAGS += $(EXTRA_CFLAGS_XEN_TOOLS)
|
||||
|
||||
-INSTALL_PYTHON_PROG = \
|
||||
- $(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG)
|
||||
+INSTALL_PYTHON_PROG = $(INSTALL_PROG)
|
||||
|
||||
%.opic: %.c
|
||||
$(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS_$*.opic) -fPIC -c -o $@ $< $(APPEND_CFLAGS)
|
|
@ -1,27 +0,0 @@
|
|||
hack to make etherboot use prefetched ipxe
|
||||
|
||||
diff --git a/tools/firmware/etherboot/Makefile b/tools/firmware/etherboot/Makefile
|
||||
index a0578d2..64428a0 100644
|
||||
--- a/tools/firmware/etherboot/Makefile
|
||||
+++ b/tools/firmware/etherboot/Makefile
|
||||
@@ -16,6 +16,7 @@ IPXE_TARBALL_URL ?= $(XEN_EXTFILES_URL)/ipxe-git-$(IPXE_GIT_TAG).tar.gz
|
||||
|
||||
D=ipxe
|
||||
T=ipxe.tar.gz
|
||||
+G=ipxe.git
|
||||
|
||||
ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom, $(ETHERBOOT_NICS)))
|
||||
|
||||
@@ -36,9 +37,9 @@ $T:
|
||||
fi
|
||||
mv _$T $T
|
||||
|
||||
-$D/src/arch/i386/Makefile: $T Config
|
||||
- rm -rf $D
|
||||
- gzip -dc $T | tar xf -
|
||||
+$D/src/arch/i386/Makefile: $G Config
|
||||
+ mkdir $D
|
||||
+ cp -a $G/* $D
|
||||
for i in $$(cat patches/series) ; do \
|
||||
patch -d $D -p1 --quiet <patches/$$i || exit 1 ; \
|
||||
done
|
|
@ -1,36 +0,0 @@
|
|||
diff -Naur xen-4.10.4-orig/xen/arch/x86/Makefile xen-4.10.4-patched/xen/arch/x86/Makefile
|
||||
--- xen-4.10.4-orig/xen/arch/x86/Makefile 2019-07-04 01:28:50.000000000 +1000
|
||||
+++ xen-4.10.4-patched/xen/arch/x86/Makefile 2020-03-03 13:32:34.607951507 +1100
|
||||
@@ -166,7 +166,7 @@
|
||||
# Check if the compiler supports the MS ABI.
|
||||
export XEN_BUILD_EFI := $(shell $(CC) $(filter-out $(CFLAGS-y) .%.d,$(CFLAGS)) -c efi/check.c -o efi/check.o 2>/dev/null && echo y)
|
||||
# Check if the linker supports PE.
|
||||
-XEN_BUILD_PE := $(if $(XEN_BUILD_EFI),$(shell $(LD) -mi386pep --subsystem=10 -o efi/check.efi efi/check.o 2>/dev/null && echo y))
|
||||
+XEN_BUILD_PE := $(if $(XEN_BUILD_EFI),$(shell $(EFI_LD) -mi386pep --subsystem=10 -o efi/check.efi efi/check.o 2>/dev/null && echo y))
|
||||
CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
|
||||
|
||||
$(TARGET).efi: VIRT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n 's, A VIRT_START$$,,p')
|
||||
@@ -188,20 +188,20 @@
|
||||
|
||||
$(TARGET).efi: prelink-efi.o $(note_file) efi.lds efi/relocs-dummy.o $(BASEDIR)/common/symbols-dummy.o efi/mkreloc
|
||||
$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
|
||||
- $(guard) $(LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< efi/relocs-dummy.o \
|
||||
+ $(guard) $(EFI_LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< efi/relocs-dummy.o \
|
||||
$(BASEDIR)/common/symbols-dummy.o $(note_file) -o $(@D)/.$(@F).$(base).0 &&) :
|
||||
$(guard) efi/mkreloc $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).0) >$(@D)/.$(@F).0r.S
|
||||
$(guard) $(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).0 \
|
||||
| $(guard) $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0s.S
|
||||
$(guard) $(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o
|
||||
$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
|
||||
- $(guard) $(LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< \
|
||||
+ $(guard) $(EFI_LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< \
|
||||
$(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o $(note_file) -o $(@D)/.$(@F).$(base).1 &&) :
|
||||
$(guard) efi/mkreloc $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).1) >$(@D)/.$(@F).1r.S
|
||||
$(guard) $(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).1 \
|
||||
| $(guard) $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1s.S
|
||||
$(guard) $(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o
|
||||
- $(guard) $(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T efi.lds -N $< \
|
||||
+ $(guard) $(EFI_LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T efi.lds -N $< \
|
||||
$(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o $(note_file) -o $@
|
||||
if $(guard) false; then rm -f $@; echo 'EFI support disabled'; \
|
||||
else $(NM) -pa --format=sysv $(@D)/$(@F) \
|
|
@ -1,35 +0,0 @@
|
|||
EFI_MOUNTPOINT is conventionally /boot/efi or /boot/EFI or something
|
||||
like that, and (on my machine) has directories within that called
|
||||
{Boot, nixos, gummiboot}.
|
||||
|
||||
This patch does two things:
|
||||
|
||||
1) Xen apparently wants to put files in
|
||||
$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR) - we remove the duplicate 'efi' name
|
||||
because I can't see why we have it
|
||||
|
||||
2) Ensures the said directory exists
|
||||
|
||||
|
||||
--- a/xen/Makefile 2016-01-08 01:50:58.028045657 +0000
|
||||
+++ b/xen/Makefile 2016-01-08 01:51:33.560268718 +0000
|
||||
@@ -49,7 +49,9 @@
|
||||
ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi; \
|
||||
ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \
|
||||
if [ -n '$(EFI_MOUNTPOINT)' -a -n '$(EFI_VENDOR)' ]; then \
|
||||
- $(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi; \
|
||||
+ [ -d $(D)$(EFI_MOUNTPOINT)/$(EFI_VENDOR) ] || \
|
||||
+ $(INSTALL_DIR) $(D)$(EFI_MOUNTPOINT)/$(EFI_VENDOR) ;\
|
||||
+ $(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi; \
|
||||
elif [ "$(D)" = "$(patsubst $(shell cd $(XEN_ROOT) && pwd)/%,%,$(D))" ]; then \
|
||||
echo 'EFI installation only partially done (EFI_VENDOR not set)' >&2; \
|
||||
fi; \
|
||||
@@ -69,7 +69,7 @@
|
||||
rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION).efi
|
||||
rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi
|
||||
rm -f $(D)$(EFI_DIR)/$(T).efi
|
||||
- rm -f $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi
|
||||
+ rm -f $(D)$(EFI_MOUNTPOINT)/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi
|
||||
|
||||
.PHONY: _debug
|
||||
_debug:
|
|
@ -1,204 +0,0 @@
|
|||
{ lib, callPackage, fetchurl, fetchpatch, fetchgit
|
||||
, ocaml-ng
|
||||
, withInternalQemu ? true
|
||||
, withInternalTraditionalQemu ? true
|
||||
, withInternalSeabios ? true
|
||||
, withSeabios ? !withInternalSeabios, seabios ? null
|
||||
, withInternalOVMF ? false # FIXME: tricky to build
|
||||
, withOVMF ? false, OVMF
|
||||
, withLibHVM ? true
|
||||
|
||||
# xen
|
||||
, lvm2, ncurses, python2Packages
|
||||
|
||||
# qemu
|
||||
, udev, pciutils, xorg, SDL, pixman, acl, glusterfs, spice-protocol, usbredir
|
||||
, alsa-lib, glib, python2
|
||||
, ... } @ args:
|
||||
|
||||
assert withInternalSeabios -> !withSeabios;
|
||||
assert withInternalOVMF -> !withOVMF;
|
||||
|
||||
with lib;
|
||||
|
||||
# Patching XEN? Check the XSAs at
|
||||
# https://xenbits.xen.org/xsa/
|
||||
# and try applying all the ones we don't have yet.
|
||||
|
||||
let
|
||||
xsa = import ./xsa-patches.nix { inherit fetchpatch; };
|
||||
|
||||
qemuMemfdBuildFix = fetchpatch {
|
||||
name = "xen-4.8-memfd-build-fix.patch";
|
||||
url = "https://github.com/qemu/qemu/commit/75e5b70e6b5dcc4f2219992d7cffa462aa406af0.patch";
|
||||
sha256 = "0gaz93kb33qc0jx6iphvny0yrd17i8zhcl3a9ky5ylc2idz0wiwa";
|
||||
};
|
||||
|
||||
qemuDeps = [
|
||||
udev pciutils xorg.libX11 SDL pixman acl glusterfs spice-protocol usbredir
|
||||
alsa-lib glib python2
|
||||
];
|
||||
in
|
||||
|
||||
callPackage (import ./generic.nix (rec {
|
||||
version = "4.10.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.xenproject.org/release/xen/${version}/xen-${version}.tar.gz";
|
||||
sha256 = "0ipkr7b3v3y183n6nfmz7q3gnzxa20011df4jpvxi6pmr8cpnkwh";
|
||||
};
|
||||
|
||||
# Sources needed to build tools and firmwares.
|
||||
xenfiles = optionalAttrs withInternalQemu {
|
||||
qemu-xen = {
|
||||
src = fetchgit {
|
||||
url = "https://xenbits.xen.org/git-http/qemu-xen.git";
|
||||
# rev = "refs/tags/qemu-xen-${version}";
|
||||
# use revision hash - reproducible but must be updated with each new version
|
||||
rev = "qemu-xen-${version}";
|
||||
sha256 = "0laxvhdjz1njxjvq3jzw2yqvdr9gdn188kqjf2gcrfzgih7xv2ym";
|
||||
};
|
||||
buildInputs = qemuDeps;
|
||||
postPatch = ''
|
||||
# needed in build but /usr/bin/env is not available in sandbox
|
||||
substituteInPlace scripts/tracetool.py \
|
||||
--replace "/usr/bin/env python" "${python2}/bin/python"
|
||||
'';
|
||||
meta.description = "Xen's fork of upstream Qemu";
|
||||
};
|
||||
} // optionalAttrs withInternalTraditionalQemu {
|
||||
qemu-xen-traditional = {
|
||||
src = fetchgit {
|
||||
url = "https://xenbits.xen.org/git-http/qemu-xen-traditional.git";
|
||||
# rev = "refs/tags/xen-${version}";
|
||||
# use revision hash - reproducible but must be updated with each new version
|
||||
rev = "c8ea0457495342c417c3dc033bba25148b279f60";
|
||||
sha256 = "0v5nl3c08kpjg57fb8l191h1y57ykp786kz6l525jgplif28vx13";
|
||||
};
|
||||
buildInputs = qemuDeps;
|
||||
patches = [
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace xen-hooks.mak \
|
||||
--replace /usr/include/pci ${pciutils}/include/pci
|
||||
'';
|
||||
meta.description = "Xen's fork of upstream Qemu that uses old device model";
|
||||
};
|
||||
} // optionalAttrs withInternalSeabios {
|
||||
"firmware/seabios-dir-remote" = {
|
||||
src = fetchgit {
|
||||
url = "https://xenbits.xen.org/git-http/seabios.git";
|
||||
rev = "f0cdc36d2f2424f6b40438f7ee7cc502c0eff4df";
|
||||
sha256 = "1wq5pjkjrfzqnq3wyr15mcn1l4c563m65gdyf8jm97kgb13pwwfm";
|
||||
};
|
||||
patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ];
|
||||
meta.description = "Xen's fork of Seabios";
|
||||
};
|
||||
} // optionalAttrs withInternalOVMF {
|
||||
"firmware/ovmf-dir-remote" = {
|
||||
src = fetchgit {
|
||||
url = "https://xenbits.xen.org/git-http/ovmf.git";
|
||||
rev = "173bf5c847e3ca8b42c11796ce048d8e2e916ff8";
|
||||
sha256 = "07zmdj90zjrzip74fvd4ss8n8njk6cim85s58mc6snxmqqv7gmcr";
|
||||
};
|
||||
meta.description = "Xen's fork of OVMF";
|
||||
};
|
||||
} // {
|
||||
# TODO: patch Xen to make this optional?
|
||||
"firmware/etherboot/ipxe.git" = {
|
||||
src = fetchgit {
|
||||
url = "https://git.ipxe.org/ipxe.git";
|
||||
rev = "356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d";
|
||||
sha256 = "15n400vm3id5r8y3k6lrp9ab2911a9vh9856f5gvphkazfnmns09";
|
||||
};
|
||||
meta.description = "Xen's fork of iPXE";
|
||||
};
|
||||
} // optionalAttrs withLibHVM {
|
||||
xen-libhvm-dir-remote = {
|
||||
src = fetchgit {
|
||||
name = "xen-libhvm";
|
||||
url = "https://github.com/michalpalka/xen-libhvm";
|
||||
rev = "83065d36b36d6d527c2a4e0f5aaf0a09ee83122c";
|
||||
sha256 = "1jzv479wvgjkazprqdzcdjy199azmx2xl3pnxli39kc5mvjz3lzd";
|
||||
};
|
||||
buildPhase = ''
|
||||
make
|
||||
cd biospt
|
||||
cc -Wall -g -D_LINUX -Wstrict-prototypes biospt.c -o biospt -I../libhvm -L../libhvm -lxenhvm
|
||||
'';
|
||||
installPhase = ''
|
||||
make install
|
||||
cp biospt/biospt $out/bin/
|
||||
'';
|
||||
meta = {
|
||||
description = ''
|
||||
Helper library for reading ACPI and SMBIOS firmware values
|
||||
from the host system for use with the HVM guest firmware
|
||||
pass-through feature in Xen'';
|
||||
license = licenses.bsd2;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
configureFlags = []
|
||||
++ optional (!withInternalQemu) "--with-system-qemu" # use qemu from PATH
|
||||
++ optional (withInternalTraditionalQemu) "--enable-qemu-traditional"
|
||||
++ optional (!withInternalTraditionalQemu) "--disable-qemu-traditional"
|
||||
|
||||
++ optional (withSeabios) "--with-system-seabios=${seabios}"
|
||||
++ optional (!withInternalSeabios && !withSeabios) "--disable-seabios"
|
||||
|
||||
++ optional (withOVMF) "--with-system-ovmf=${OVMF.fd}/FV/OVMF.fd"
|
||||
++ optional (withInternalOVMF) "--enable-ovmf";
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
# Fix build on Glibc 2.24.
|
||||
"-Wno-error=deprecated-declarations"
|
||||
# Fix build with GCC 8
|
||||
"-Wno-error=maybe-uninitialized"
|
||||
"-Wno-error=stringop-truncation"
|
||||
"-Wno-error=format-truncation"
|
||||
"-Wno-error=array-bounds"
|
||||
# Fix build with GCC 9
|
||||
"-Wno-error=address-of-packed-member"
|
||||
"-Wno-error=format-overflow"
|
||||
"-Wno-error=absolute-value"
|
||||
# Fix build with GCC 10
|
||||
"-Wno-error=enum-conversion"
|
||||
"-Wno-error=zero-length-bounds"
|
||||
];
|
||||
|
||||
patches = [
|
||||
./0000-fix-ipxe-src.4.10.patch
|
||||
./0000-fix-install-python.4.10.patch
|
||||
./0004-makefile-use-efi-ld.4.10.patch
|
||||
./0005-makefile-fix-efi-mountdir-use.4.10.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace tools/blktap2/lvm/lvm-util.c \
|
||||
--replace /usr/sbin/vgs ${lvm2}/bin/vgs \
|
||||
--replace /usr/sbin/lvs ${lvm2}/bin/lvs
|
||||
|
||||
substituteInPlace tools/xenstat/Makefile \
|
||||
--replace /usr/include/curses.h ${ncurses.dev}/include/curses.h
|
||||
|
||||
# Avoid a glibc >= 2.25 deprecation warnings that get fatal via -Werror.
|
||||
sed 1i'#include <sys/sysmacros.h>' \
|
||||
-i tools/blktap2/control/tap-ctl-allocate.c \
|
||||
-i tools/libxl/libxl_device.c
|
||||
# Makefile didn't include previous PKG_CONFIG_PATH so glib wasn't found
|
||||
substituteInPlace tools/Makefile \
|
||||
--replace 'PKG_CONFIG_PATH=$(XEN_ROOT)/tools/pkg-config' 'PKG_CONFIG_PATH=$(XEN_ROOT)/tools/pkg-config:$(PKG_CONFIG_PATH)'
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
qemu-system-i386 = if withInternalQemu
|
||||
then "lib/xen/bin/qemu-system-i386"
|
||||
else throw "this xen has no qemu builtin";
|
||||
};
|
||||
|
||||
})) ({
|
||||
ocamlPackages = ocaml-ng.ocamlPackages_4_05;
|
||||
pythonPackages = python2Packages;
|
||||
} // args)
|
|
@ -3,7 +3,7 @@
|
|||
, withInternalQemu ? true
|
||||
, withInternalTraditionalQemu ? true
|
||||
, withInternalSeabios ? true
|
||||
, withSeabios ? !withInternalSeabios, seabios ? null
|
||||
, withSeabios ? !withInternalSeabios, seabios
|
||||
, withInternalOVMF ? false # FIXME: tricky to build
|
||||
, withOVMF ? false, OVMF
|
||||
, withLibHVM ? false
|
||||
|
@ -179,6 +179,5 @@ callPackage (import ./generic.nix (rec {
|
|||
};
|
||||
|
||||
})) ({
|
||||
ocamlPackages = ocaml-ng.ocamlPackages_4_05;
|
||||
pythonPackages = python3Packages;
|
||||
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
|
||||
} // args)
|
||||
|
|
|
@ -5,7 +5,7 @@ config:
|
|||
, bison, bzip2, checkpolicy, dev86, figlet, flex, gettext, glib
|
||||
, acpica-tools, libaio, libiconv, libuuid, ncurses, openssl, perl
|
||||
, xz, yajl, zlib
|
||||
, pythonPackages
|
||||
, python3Packages
|
||||
|
||||
# Xen Optional
|
||||
, ocamlPackages
|
||||
|
@ -16,7 +16,7 @@ config:
|
|||
, util-linux, procps, systemd
|
||||
|
||||
# Documentation
|
||||
# pythonPackages.markdown
|
||||
# python3Packages.markdown
|
||||
, fig2dev, ghostscript, texinfo, pandoc
|
||||
|
||||
, binutils-unwrapped
|
||||
|
@ -71,16 +71,16 @@ stdenv.mkDerivation (rec {
|
|||
|
||||
# Xen
|
||||
bison bzip2 checkpolicy dev86 figlet flex gettext glib acpica-tools libaio
|
||||
libiconv libuuid ncurses openssl perl pythonPackages.python xz yajl zlib
|
||||
libiconv libuuid ncurses openssl perl python3Packages.python xz yajl zlib
|
||||
|
||||
# oxenstored
|
||||
ocamlPackages.findlib ocamlPackages.ocaml systemd
|
||||
|
||||
# Python fixes
|
||||
pythonPackages.wrapPython
|
||||
python3Packages.wrapPython
|
||||
|
||||
# Documentation
|
||||
pythonPackages.markdown fig2dev ghostscript texinfo pandoc
|
||||
python3Packages.markdown fig2dev ghostscript texinfo pandoc
|
||||
|
||||
# Others
|
||||
] ++ (concatMap (x: x.buildInputs or []) (attrValues config.xenfiles))
|
||||
|
|
|
@ -6,52 +6,6 @@
|
|||
# light] for each ./<version>.nix.
|
||||
|
||||
rec {
|
||||
xen_4_10-vanilla = callPackage ./4.10.nix {
|
||||
meta = {
|
||||
description = "vanilla";
|
||||
longDescription = ''
|
||||
Vanilla version of Xen. Uses forks of Qemu and Seabios bundled
|
||||
with Xen. This gives vanilla experince, but wastes space and
|
||||
build time: typical NixOS setup that runs lots of VMs will
|
||||
build three different versions of Qemu when using this (two
|
||||
forks and upstream).
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
xen_4_10-slim = xen_4_10-vanilla.override {
|
||||
withInternalQemu = false;
|
||||
withInternalTraditionalQemu = true;
|
||||
withInternalSeabios = false;
|
||||
withSeabios = true;
|
||||
|
||||
meta = {
|
||||
description = "slim";
|
||||
longDescription = ''
|
||||
Slimmed-down version of Xen that reuses nixpkgs packages as
|
||||
much as possible. Different parts may get out of sync, but
|
||||
this builds faster and uses less space than vanilla. Use with
|
||||
`qemu_xen` from nixpkgs.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
xen_4_10-light = xen_4_10-vanilla.override {
|
||||
withInternalQemu = false;
|
||||
withInternalTraditionalQemu = false;
|
||||
withInternalSeabios = false;
|
||||
withSeabios = true;
|
||||
|
||||
meta = {
|
||||
description = "light";
|
||||
longDescription = ''
|
||||
Slimmed-down version of Xen without `qemu-traditional` (you
|
||||
don't need it if you don't know what it is). Use with
|
||||
`qemu_xen-light` from nixpkgs.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
xen_4_15-vanilla = callPackage ./4.15.nix {
|
||||
meta = {
|
||||
description = "vanilla";
|
||||
|
@ -98,7 +52,7 @@ rec {
|
|||
};
|
||||
};
|
||||
|
||||
xen-vanilla = xen_4_10-vanilla;
|
||||
xen-slim = xen_4_10-slim;
|
||||
xen-light = xen_4_10-light;
|
||||
xen-vanilla = xen_4_15-vanilla;
|
||||
xen-slim = xen_4_15-slim;
|
||||
xen-light = xen_4_15-light;
|
||||
}
|
||||
|
|
|
@ -42,6 +42,8 @@ let
|
|||
|
||||
nativeComp = emacs.nativeComp or false;
|
||||
|
||||
treeSitter = emacs.treeSitter or false;
|
||||
|
||||
in
|
||||
|
||||
packagesFun: # packages explicitly requested by the user
|
||||
|
@ -109,6 +111,9 @@ runCommand
|
|||
${optionalString nativeComp ''
|
||||
mkdir -p $out/share/emacs/native-lisp
|
||||
''}
|
||||
${optionalString treeSitter ''
|
||||
mkdir -p $out/lib
|
||||
''}
|
||||
|
||||
local requires
|
||||
for pkg in $explicitRequires; do
|
||||
|
@ -133,6 +138,9 @@ runCommand
|
|||
${optionalString nativeComp ''
|
||||
linkPath "$1" "share/emacs/native-lisp" "share/emacs/native-lisp"
|
||||
''}
|
||||
${optionalString treeSitter ''
|
||||
linkPath "$1" "lib" "lib"
|
||||
''}
|
||||
}
|
||||
|
||||
# Iterate over the array of inputs (avoiding nix's own interpolation)
|
||||
|
@ -164,6 +172,9 @@ runCommand
|
|||
${optionalString nativeComp ''
|
||||
(add-to-list 'native-comp-eln-load-path "$out/share/emacs/native-lisp/")
|
||||
''}
|
||||
${optionalString treeSitter ''
|
||||
(add-to-list 'treesit-extra-load-path "$out/lib/")
|
||||
''}
|
||||
EOF
|
||||
|
||||
# Generate a subdirs.el that statically adds all subdirectories to load-path.
|
||||
|
|
|
@ -24,7 +24,9 @@
|
|||
|
||||
, src ? null
|
||||
, srcs ? null
|
||||
, preUnpack ? null
|
||||
, unpackPhase ? null
|
||||
, postUnpack ? null
|
||||
, cargoPatches ? []
|
||||
, patches ? []
|
||||
, sourceRoot ? null
|
||||
|
@ -68,7 +70,7 @@ let
|
|||
if cargoVendorDir != null then null
|
||||
else if cargoLock != null then importCargoLock cargoLock
|
||||
else fetchCargoTarball ({
|
||||
inherit src srcs sourceRoot unpackPhase cargoUpdateHook;
|
||||
inherit src srcs sourceRoot preUnpack unpackPhase postUnpack cargoUpdateHook;
|
||||
name = cargoDepsName;
|
||||
patches = cargoPatches;
|
||||
} // lib.optionalAttrs (args ? cargoHash) {
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "sarasa-gothic";
|
||||
version = "0.40.2";
|
||||
version = "0.40.3";
|
||||
|
||||
src = fetchurl {
|
||||
# Use the 'ttc' files here for a smaller closure size.
|
||||
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
|
||||
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
|
||||
hash = "sha256-ZarDttwwZzBb0+iBipVHZGLf1K3lQ7xvjMR6jE3hmh8=";
|
||||
hash = "sha256-lhjsmsgFEXMX5byp50qRoHoX9nuKcsrAp6NGDdfXo3I=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
|
|
@ -32,6 +32,9 @@ stdenv.mkDerivation rec {
|
|||
"--disable-music-mp3-mpg123-shared"
|
||||
"--disable-music-opus-shared"
|
||||
"--disable-music-midi-fluidsynth-shared"
|
||||
|
||||
# override default path to allow MIDI files to be played
|
||||
"--with-timidity-cfg=${timidity}/share/timidity/timidity.cfg"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"--disable-sdltest"
|
||||
"--disable-smpegtest"
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zchunk";
|
||||
version = "1.2.3";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zchunk";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-YzCEQuG38lVhCwZznhIyny6Yya8iNuhdqgYBz9OhGOc=";
|
||||
hash = "sha256-9T1u2Qvy2gRUQzgAp81x+tSbHXuEoxhYhS1T9XntvKk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -5,6 +5,8 @@ buildDunePackage {
|
|||
|
||||
inherit (alcotest) version src;
|
||||
|
||||
duneVersion = "3";
|
||||
|
||||
propagatedBuildInputs = [ alcotest lwt logs mirage-clock duration ];
|
||||
|
||||
doCheck = true;
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildDunePackage rec {
|
||||
pname = "duration";
|
||||
version = "0.2.0";
|
||||
version = "0.2.1";
|
||||
|
||||
useDune2 = true;
|
||||
duneVersion = "3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/hannesm/duration/releases/download/${version}/duration-${version}.tbz";
|
||||
sha256 = "sha256-rRT7daWm9z//fvFyEXiSXuVVzw8jsj46sykYS8DBzmk=";
|
||||
url = "https://github.com/hannesm/duration/releases/download/v${version}/duration-${version}.tbz";
|
||||
hash = "sha256-xzjB84z7mYIMEhzT3fgZ3ksiKPDVDqy9HMPOmefHHis=";
|
||||
};
|
||||
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.08";
|
||||
|
|
|
@ -7,6 +7,7 @@ buildDunePackage rec {
|
|||
version = "0.5.0";
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
duneVersion = "3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/roburio/happy-eyeballs/releases/download/v${version}/happy-eyeballs-${version}.tbz";
|
||||
|
|
|
@ -5,6 +5,7 @@ buildDunePackage rec {
|
|||
version = "0.4.0";
|
||||
|
||||
minimalOCamlVersion = "4.04";
|
||||
duneVersion = "3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/metrics/releases/download/v${version}/metrics-${version}.tbz";
|
||||
|
|
|
@ -6,6 +6,8 @@ buildDunePackage rec {
|
|||
pname = "metrics-influx";
|
||||
inherit (metrics) version src;
|
||||
|
||||
duneVersion = "3";
|
||||
|
||||
propagatedBuildInputs = [ duration fmt lwt metrics ];
|
||||
|
||||
meta = metrics.meta // {
|
||||
|
|
|
@ -5,6 +5,8 @@ buildDunePackage {
|
|||
|
||||
inherit (metrics) version src;
|
||||
|
||||
duneVersion = "3";
|
||||
|
||||
propagatedBuildInputs = [ logs lwt metrics ];
|
||||
|
||||
meta = metrics.meta // {
|
||||
|
|
|
@ -7,6 +7,7 @@ buildDunePackage {
|
|||
inherit (metrics) src version;
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
duneVersion = "3";
|
||||
|
||||
propagatedBuildInputs = [ fmt logs metrics ];
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@ buildDunePackage rec {
|
|||
|
||||
inherit (metrics) version src;
|
||||
|
||||
duneVersion = "3";
|
||||
|
||||
# Fixes https://github.com/mirage/metrics/issues/57
|
||||
postPatch = ''
|
||||
substituteInPlace src/unix/dune --replace "mtime mtime.clock" "mtime"
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
{ lib, buildDunePackage, fetchurl, ocaml_lwt }:
|
||||
{ lib, buildDunePackage, fetchurl, lwt }:
|
||||
|
||||
buildDunePackage rec {
|
||||
minimumOCamlVersion = "4.06";
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
pname = "mirage-time";
|
||||
version = "3.0.0";
|
||||
|
||||
useDune2 = true;
|
||||
duneVersion = "3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/mirage-time/releases/download/v${version}/mirage-time-v${version}.tbz";
|
||||
sha256 = "sha256-DUCUm1jix+i3YszIzgZjRQRiM8jJXQ49F6JC/yicvXw=";
|
||||
hash = "sha256-DUCUm1jix+i3YszIzgZjRQRiM8jJXQ49F6JC/yicvXw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ ocaml_lwt ];
|
||||
propagatedBuildInputs = [ lwt ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/mirage/mirage-time";
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{ buildDunePackage, fetchurl, mirage-time, ocaml_lwt, duration }:
|
||||
{ buildDunePackage, fetchurl, mirage-time, lwt, duration }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "mirage-time-unix";
|
||||
|
||||
inherit (mirage-time) src useDune2 version minimumOCamlVersion;
|
||||
inherit (mirage-time) src version;
|
||||
duneVersion = "3";
|
||||
|
||||
propagatedBuildInputs = [ mirage-time ocaml_lwt duration ];
|
||||
propagatedBuildInputs = [ mirage-time lwt duration ];
|
||||
|
||||
meta = mirage-time.meta // {
|
||||
description = "Time operations for MirageOS on Unix";
|
||||
|
|
|
@ -4,9 +4,11 @@ buildDunePackage rec {
|
|||
pname = "mirage-unix";
|
||||
version = "5.0.1";
|
||||
|
||||
duneVersion = "3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-${version}.tbz";
|
||||
sha256 = "sha256-U1oLznUDBcJLcVygfSiyl5qRLDM27cm/WrjT0vSGhPg=";
|
||||
hash = "sha256-U1oLznUDBcJLcVygfSiyl5qRLDM27cm/WrjT0vSGhPg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ lwt duration mirage-runtime ];
|
||||
|
|
|
@ -9,10 +9,11 @@ buildDunePackage rec {
|
|||
version = "0.6.0";
|
||||
|
||||
minimalOCamlVersion = "4.06";
|
||||
duneVersion = "3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-${version}.tbz";
|
||||
sha256 = "sha256-fzRoNFqdnj4Ke+eNdo5crvbnKDx6/+dQyu+K3rD5dYw=";
|
||||
hash = "sha256-fzRoNFqdnj4Ke+eNdo5crvbnKDx6/+dQyu+K3rD5dYw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -16,12 +16,12 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "imageio";
|
||||
version = "2.25.1";
|
||||
version = "2.26.0";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
hash = "sha256-YCHULevSGH6ceB5JSkmjDroAL7rB7vQ/SRu8cx56bSs=";
|
||||
inherit pname version;
|
||||
hash = "sha256-Fp8WQs23IxM/6P6QGIf08bObwDZFjEZk8fnSViJs7TU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
40
pkgs/development/python-modules/mock-ssh-server/default.nix
Normal file
40
pkgs/development/python-modules/mock-ssh-server/default.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, paramiko
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mock-ssh-server";
|
||||
version = "0.9.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "carletes";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-yJd+WDidW5ouofytAKTlSiZhIQg2cLs8BvEp15qwtjo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
paramiko
|
||||
];
|
||||
|
||||
# Tests are running into a timeout on Hydra, they work locally
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"mockssh"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python mock SSH server for testing purposes";
|
||||
homepage = "https://github.com/carletes/mock-ssh-server";
|
||||
changelog = "https://github.com/carletes/mock-ssh-server/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "peaqevcore";
|
||||
version = "13.0.1";
|
||||
version = "13.1.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-2V0+F0S2i7paBDN8FmsT1wV4qdJ4XmkOyZ3EDfyjGks=";
|
||||
hash = "sha256-JwmShU/YJhJvNofKrE8/e3/PKFSEGWWhHO8heEWTZac=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
, pytestCheckHook
|
||||
, python-dateutil
|
||||
, pythonOlder
|
||||
, semver
|
||||
, rich
|
||||
, tomlkit
|
||||
, typing-extensions
|
||||
|
@ -16,7 +17,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pontos";
|
||||
version = "23.3.3";
|
||||
version = "23.3.5";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -25,7 +26,7 @@ buildPythonPackage rec {
|
|||
owner = "greenbone";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Wd02dlRIRBBJ2cKNxIZxOoWjp1aPxqmc37tvUbc/pJk=";
|
||||
hash = "sha256-Eb9mX04ws+FhiRw5j1XsEhjm5ZdYFCbA5pntgb4z//M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -37,6 +38,7 @@ buildPythonPackage rec {
|
|||
httpx
|
||||
packaging
|
||||
python-dateutil
|
||||
semver
|
||||
rich
|
||||
typing-extensions
|
||||
tomlkit
|
||||
|
|
|
@ -10,11 +10,12 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytest-order";
|
||||
version = "1.0.1";
|
||||
version = "1.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-Xda5KfvX6qbQ7gdYb2XGI7q7Cv5ytIQ8XxUFXWs7Gx8=";
|
||||
hash = "sha256-E50lswgmt47rtCci90fqsUxEuIBZ16cdT3nRSgVyaaU=";
|
||||
};
|
||||
|
||||
buildInputs = [ pytest ];
|
||||
|
|
53
pkgs/development/python-modules/sshfs/default.nix
Normal file
53
pkgs/development/python-modules/sshfs/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
{ lib
|
||||
, asyncssh
|
||||
, bcrypt
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fsspec
|
||||
, mock-ssh-server
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, setuptools-scm
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sshfs";
|
||||
version = "2023.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fsspec";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-TETxjBI4T8dgmtCtx/lq2LIIwyFsAMWY6xdm7+Qsjb0=";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
asyncssh
|
||||
bcrypt
|
||||
fsspec
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
mock-ssh-server
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"sshfs"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "SSH/SFTP implementation for fsspec";
|
||||
homepage = "https://github.com/fsspec/sshfs/";
|
||||
changelog = "https://github.com/fsspec/sshfs/releases/tag/${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ melling ];
|
||||
};
|
||||
}
|
|
@ -2,26 +2,27 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "argc";
|
||||
version = "0.13.0";
|
||||
version = "0.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sigoden";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-G5dEN1yO/WnMLVZtxL6vD+YjvHDWiWehZSqeL43IDXE=";
|
||||
sha256 = "sha256-vvGeC+5dsO26ALfHoZ9+zVlpl+63Nj/VqtSBQo1Gl/c=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-carsp6IRFCw5bLRYoyy6QP8jnImTSf/6GxYDH9lR7GA=";
|
||||
cargoSha256 = "sha256-A45txIc5AcJtWx6Jl4w7Ys2H3UgTjRsEiMySuUv9+Ds=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion completions/argc.{bash,zsh}
|
||||
installShellCompletion completions/argc.{bash,fish,zsh}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool to handle sh/bash cli parameters";
|
||||
homepage = "https://github.com/sigoden/argc";
|
||||
changelog = "https://github.com/sigoden/argc/releases/tag/v${version}";
|
||||
license = with licenses; [ mit /* or */ asl20 ];
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
};
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "cloud-nuke";
|
||||
version = "0.21.0";
|
||||
version = "0.27.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gruntwork-io";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-DcR5pofMcV2Y5qVA2h3I5h/1qS25+deVAUQWIMLu/KI=";
|
||||
hash = "sha256-q1/BPJkoLjNbk6OTd+VDmRX7zjDXr8vKWme7csG9xN8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-GRHyoKv05JRZiY0g3Xd11liDYPcA6rfE8vorZRCV1wI=";
|
||||
vendorHash = "sha256-MQjUajAE9ST8mwbmfwTMBOkhyqPe7pS0yQimFaBn50U=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
|
||||
|
||||
|
|
|
@ -2,15 +2,15 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "ginkgo";
|
||||
version = "2.9.0";
|
||||
version = "2.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "onsi";
|
||||
repo = "ginkgo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-91Mi8BU2xMHckzEGahIOd/FWPwzhkSPFOQdEA66mKYw=";
|
||||
sha256 = "sha256-ew0O+xuRsIrjxJxmdYegbYjcXeEmpL00fJS43jyGIEg=";
|
||||
};
|
||||
vendorHash = "sha256-GuqIYbgPt/noFBsa+P7oE1U+M+H/OiV0Gz7wJXHcEQ4=";
|
||||
vendorHash = "sha256-nz32DPm0Sg13ScAeXUYagXvxhpRm+L+rvvY0gE1L584=";
|
||||
|
||||
# integration tests expect more file changes
|
||||
# types tests are missing CodeLocation
|
||||
|
|
|
@ -2,15 +2,15 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "konstraint";
|
||||
version = "0.25.1";
|
||||
version = "0.26.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "plexsystems";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-KOl1K6XSublOxaCE89QXIRESyBrfgrJnVkaaC76ld1E=";
|
||||
sha256 = "sha256-xxNDzg+cnN6Sl8xNVgyLMPTy98r8SFjc5gQ3OT3FGwM=";
|
||||
};
|
||||
vendorHash = "sha256-t306WYXPVXHqp6Ixd02QTVSLJ8VI57FA1KwMDW/JSeg=";
|
||||
vendorHash = "sha256-EHYsaE18C6UUX/d694hfczY054vP1xB/2Qc5PHxbra0=";
|
||||
|
||||
# Exclude go within .github folder
|
||||
excludedPackages = ".github";
|
||||
|
|
|
@ -42,11 +42,15 @@ let
|
|||
echo "#! ${stdenv.shell}" >> "$out/bin/antlr"
|
||||
echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' -Xmx500M org.antlr.v4.Tool \"\$@\"" >> "$out/bin/antlr"
|
||||
|
||||
echo "#! ${stdenv.shell}" >> "$out/bin/antlr-parse"
|
||||
echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' -Xmx500M org.antlr.v4.gui.Interpreter \"\$@\"" >> "$out/bin/antlr-parse"
|
||||
|
||||
echo "#! ${stdenv.shell}" >> "$out/bin/grun"
|
||||
echo "'${jre}/bin/java' -cp '$out/share/java/antlr-${version}-complete.jar:$CLASSPATH' org.antlr.v4.gui.TestRig \"\$@\"" >> "$out/bin/grun"
|
||||
|
||||
chmod a+x "$out/bin/antlr" "$out/bin/grun"
|
||||
chmod a+x "$out/bin/antlr" "$out/bin/antlr-parse" "$out/bin/grun"
|
||||
ln -s "$out/bin/antlr"{,4}
|
||||
ln -s "$out/bin/antlr"{,4}-parse
|
||||
'';
|
||||
|
||||
inherit jre;
|
||||
|
@ -99,6 +103,20 @@ let
|
|||
};
|
||||
|
||||
in {
|
||||
antlr4_12 = (mkAntlr {
|
||||
version = "4.12.0";
|
||||
sourceSha256 = "sha256-0JMG8UYFT+IAWvARY2KnuXSr5X6LlVZN4LJHy5d4x08=";
|
||||
jarSha256 = "sha256-iPGKK/rA3eEAntpcfc41ilKHf673ho9WIjpbzBUynkM=";
|
||||
extraCppCmakeFlags = [
|
||||
# Generate CMake config files, which are not installed by default.
|
||||
"-DANTLR4_INSTALL=ON"
|
||||
|
||||
# Disable tests, since they require downloading googletest, which is
|
||||
# not available in a sandboxed build.
|
||||
"-DANTLR_BUILD_CPP_TESTS=OFF"
|
||||
];
|
||||
}).antlr;
|
||||
|
||||
antlr4_11 = (mkAntlr {
|
||||
version = "4.11.1";
|
||||
sourceSha256 = "sha256-SUeDgfqLjYQorC8r/CKlwbYooTThMOILkizwQV8pocc=";
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "plpgsql_check";
|
||||
version = "2.3.0";
|
||||
version = "2.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "okbob";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-zl7AF+1hj6UFnf9sKO40ZTzm7edKguUYFqaT5/qf8Ic=";
|
||||
hash = "sha256-+ao0J3LpEcyTon4vCRIc5629KpCYMP+xRXNqxZEJYF8=";
|
||||
};
|
||||
|
||||
buildInputs = [ postgresql ];
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "spaceship-prompt";
|
||||
version = "4.13.2";
|
||||
version = "4.13.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "denysdovhan";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mCztJ35HTsbN7Uv6ivnAC6+CAPBt8lujNci2HD1oax4=";
|
||||
sha256 = "sha256-uFmGld5paCLNnE9yWgBLtthEBfwwMzlGCJFX6KqGJdw=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
|
|
@ -1,27 +1,25 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, libiconv
|
||||
, rustPlatform
|
||||
, AppKit
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
, darwin
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "fclones";
|
||||
version = "0.29.3";
|
||||
version = "0.30.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pkolaczk";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-dz7Mxi5KIZYw0oLic50hNT6rWbQpfiBE4hlZsxNfKsA=";
|
||||
sha256 = "sha256-eFWFXUARXy3VA53VPSZkJdw6ZvI+FtFnCCGHmCAdTto=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-I9pd+Q3b++ujynfpZq88lqPSUOc/SXWpNzR/CwtNEPA=";
|
||||
cargoHash = "sha256-C7DKwEMYdypfItflMOL7rjbAdXDRsXDNoPlc9j6aBRA=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
AppKit
|
||||
libiconv
|
||||
darwin.apple_sdk_11_0.frameworks.AppKit
|
||||
];
|
||||
|
||||
# device::test_physical_device_name test fails on Darwin
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchFromGitHub, m4, pkg-config, tcl
|
||||
, bzip2, libarchive, libbsd, lzma, openssl, zlib
|
||||
, bzip2, libarchive, libbsd, xz, openssl, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
separateDebugInfo = true;
|
||||
|
||||
nativeBuildInputs = [ m4 pkg-config tcl ];
|
||||
buildInputs = [ bzip2 libarchive lzma openssl zlib ]
|
||||
buildInputs = [ bzip2 libarchive xz openssl zlib ]
|
||||
++ lib.optional stdenv.isLinux libbsd;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "cdk-go";
|
||||
version = "1.5.1";
|
||||
version = "1.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cdk-team";
|
||||
repo = "CDK";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-d1EwKu3QUbIhpgSQLL3GqaPQJ1K/QxwhsHuX5y1jWH0=";
|
||||
hash = "sha256-jgGOSlhlLO1MU1mHWZgw+ov4IrZwMo2GdG6L25ah9Z8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-aJN/d/BxmleRXKw6++k6e0Vb0Gs5zg1QfakviABYTog=";
|
||||
|
|
|
@ -17282,9 +17282,10 @@ with pkgs;
|
|||
antlr4_8
|
||||
antlr4_9
|
||||
antlr4_10
|
||||
antlr4_11;
|
||||
antlr4_11
|
||||
antlr4_12;
|
||||
|
||||
antlr4 = antlr4_11;
|
||||
antlr4 = antlr4_12;
|
||||
|
||||
antlr = antlr4;
|
||||
|
||||
|
@ -26831,8 +26832,6 @@ with pkgs;
|
|||
# Building with `xen` instead of `xen-slim` is possible, but makes no sense.
|
||||
qemu_xen = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen-slim; });
|
||||
qemu_xen-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen-light; });
|
||||
qemu_xen_4_10 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_10-slim; });
|
||||
qemu_xen_4_10-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_10-light; });
|
||||
qemu_xen_4_15 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_15-slim; });
|
||||
qemu_xen_4_15-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_15-light; });
|
||||
|
||||
|
@ -29958,9 +29957,7 @@ with pkgs;
|
|||
|
||||
fbida = callPackage ../applications/graphics/fbida { };
|
||||
|
||||
fclones = callPackage ../tools/misc/fclones {
|
||||
inherit (darwin.apple_sdk.frameworks) AppKit;
|
||||
};
|
||||
fclones = callPackage ../tools/misc/fclones { };
|
||||
|
||||
fcp = callPackage ../tools/misc/fcp { };
|
||||
|
||||
|
@ -34546,10 +34543,6 @@ with pkgs;
|
|||
xen-slim = xenPackages.xen-slim;
|
||||
xen-light = xenPackages.xen-light;
|
||||
|
||||
xen_4_10 = xenPackages.xen_4_10-vanilla;
|
||||
xen_4_10-slim = xenPackages.xen_4_10-slim;
|
||||
xen_4_10-light = xenPackages.xen_4_10-light;
|
||||
|
||||
xen_4_15 = xenPackages.xen_4_15-vanilla;
|
||||
xen_4_15-slim = xenPackages.xen_4_15-slim;
|
||||
xen_4_15-light = xenPackages.xen_4_15-light;
|
||||
|
|
|
@ -6097,6 +6097,8 @@ self: super: with self; {
|
|||
|
||||
mock-services = callPackage ../development/python-modules/mock-services { };
|
||||
|
||||
mock-ssh-server = callPackage ../development/python-modules/mock-ssh-server { };
|
||||
|
||||
mockupdb = callPackage ../development/python-modules/mockupdb { };
|
||||
|
||||
modeled = callPackage ../development/python-modules/modeled { };
|
||||
|
@ -11207,6 +11209,8 @@ self: super: with self; {
|
|||
|
||||
ssh-mitm = callPackage ../development/python-modules/ssh-mitm { };
|
||||
|
||||
sshfs = callPackage ../development/python-modules/sshfs { };
|
||||
|
||||
sshpubkeys = callPackage ../development/python-modules/sshpubkeys { };
|
||||
|
||||
sshtunnel = callPackage ../development/python-modules/sshtunnel { };
|
||||
|
|
Loading…
Reference in a new issue