Something went wrong. Try again.
lol
Something went wrong. Try again.
2.8 kB · 132 lines
Nix
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133{ lib, stdenv, buildPythonPackage, fetchFromGitHub, installShellFiles,
# build-system setuptools, versioneer,
# dependencies attrs, autobahn, automat, click, cryptography, humanize, iterable-io, pynacl, qrcode, spake2, tqdm, twisted, txtorcon, zipstream-ng,
# optional-dependencies noiseprotocol,
# tests net-tools, unixtools, hypothesis, magic-wormhole-mailbox-server, magic-wormhole-transit-relay, pytestCheckHook, pytest-twisted,
gitUpdater,}:
buildPythonPackage (finalAttrs: { pname = "magic-wormhole"; version = "0.23.0"; pyproject = true;
src = fetchFromGitHub { owner = "magic-wormhole"; repo = "magic-wormhole"; tag = finalAttrs.version; hash = "sha256-knvQwdPfe9uHpSNqaEz4w2LY6LjCPVoUcFG0bhHQl+g="; };
postPatch = # enable tests by fixing the location of the wormhole binary '' substituteInPlace src/wormhole/test/test_cli.py --replace-fail \ 'locations = procutils.which("wormhole")' \ 'return "${placeholder "out"}/bin/wormhole"' '' # fix the location of the ifconfig binary + lib.optionalString stdenv.hostPlatform.isLinux '' sed -i -e "s|'ifconfig'|'${net-tools}/bin/ifconfig'|" src/wormhole/ipaddrs.py '';
build-system = [ setuptools versioneer ];
dependencies = [ attrs autobahn automat click cryptography humanize iterable-io pynacl qrcode spake2 tqdm twisted txtorcon zipstream-ng ] ++ autobahn.optional-dependencies.twisted ++ twisted.optional-dependencies.tls;
optional-dependencies = { dilation = [ noiseprotocol ]; };
nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [ hypothesis magic-wormhole-mailbox-server magic-wormhole-transit-relay pytestCheckHook pytest-twisted ] ++ finalAttrs.finalPackage.optional-dependencies.dilation ++ lib.optionals stdenv.hostPlatform.isDarwin [ unixtools.locale ];
__darwinAllowLocalNetworking = true;
postInstall = '' install -Dm644 docs/wormhole.1 $out/share/man/man1/wormhole.1
# https://github.com/magic-wormhole/magic-wormhole/issues/619 installShellCompletion --cmd ${finalAttrs.meta.mainProgram} \ --bash wormhole_complete.bash \ --fish wormhole_complete.fish \ --zsh wormhole_complete.zsh rm $out/wormhole_complete.* '';
passthru.updateScript = gitUpdater { };
meta = { changelog = "https://github.com/magic-wormhole/magic-wormhole/blob/${finalAttrs.src.rev}/NEWS.md"; description = "Securely transfer data between computers"; homepage = "https://magic-wormhole.readthedocs.io/"; license = lib.licenses.mit; maintainers = [ lib.maintainers.mjoerg ]; mainProgram = "wormhole"; };})