Merge remote-tracking branch 'origin/master' into staging-next
Conflicts: - pkgs/development/python-modules/imageio/default.nix - pkgs/development/python-modules/pytest-order/default.nix
This commit is contained in:
commit
3b8cf43350
@ -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;
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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,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}" ];
|
||||
|
||||
|
@ -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;
|
||||
|
@ -26830,8 +26830,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; });
|
||||
|
||||
@ -29949,9 +29947,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 { };
|
||||
|
||||
@ -34537,10 +34533,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 New Issue
Block a user