;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Alex ter Weele ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020, 2021 Michael Rohleder ;;; Copyright © 2020 Giacomo Leidi ;;; Copyright © 2022 Aleksandr Vityazev ;;; Copyright © 2022 Morgan Smith ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix.
aboutsummaryrefslogtreecommitdiff
blob: ea67b10a5be9a18a56ca75900a90a699d3676d10 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#pragma once

namespace nix {


#define WORKER_MAGIC_1 0x6e697863
#define WORKER_MAGIC_2 0x6478696f

#define PROTOCOL_VERSION 0x163
#define GET_PROTOCOL_MAJOR(x) ((x) & 0xff00)
#define GET_PROTOCOL_MINOR(x) ((x) & 0x00ff)


typedef enum {
    wopIsValidPath = 1,
    wopHasSubstitutes = 3,
    wopQueryPathHash = 4,
    wopQueryReferences = 5,
    wopQueryReferrers = 6,
    wopAddToStore = 7,
    wopAddTextToStore = 8,
    wopBuildPaths = 9,
    wopEnsurePath = 10,
    wopAddTempRoot = 11,
    wopAddIndirectRoot = 12,
    wopSyncWithGC = 13,
    wopFindRoots = 14,
    wopExportPath = 16,
    wopQueryDeriver = 18,
    wopSetOptions = 19,
    wopCollectGarbage = 20,
    wopQuerySubstitutablePathInfo = 21,
    wopQueryDerivationOutputs = 22,
    wopQueryAllValidPaths = 23,
    wopQueryFailedPaths = 24,
    wopClearFailedPaths = 25,
    wopQueryPathInfo = 26,
    wopImportPaths = 27,
    wopQueryDerivationOutputNames = 28,
    wopQueryPathFromHashPart = 29,
    wopQuerySubstitutablePathInfos = 30,
    wopQueryValidPaths = 31,
    wopQuerySubstitutablePaths = 32,
    wopQueryValidDerivers = 33,
    wopOptimiseStore = 34,
    wopVerifyStore = 35,
    wopBuiltinBuilders = 80
} WorkerOp;


#define STDERR_NEXT  0x6f6c6d67
#define STDERR_READ  0x64617461 // data needed from source
#define STDERR_WRITE 0x64617416 // data for sink
#define STDERR_LAST  0x616c7473
#define STDERR_ERROR 0x63787470


Path readStorePath(Source & from);
template<class T> T readStorePaths(Source & from);


}
;; FIXME: two tests fail, for unknown reasons (invoke "python" "-m" "pytest" "-vv" "tests" "-k" (string-append "not test_upload_binary_file_object " "and not test_connect_wrapper")))))))) (native-inputs `(("python-pytest" ,python-pytest-6) ("python-hyperframe" ,python-hyperframe) ("python-hypothesis" ,python-hypothesis-next) ("python-hpack" ,python-hpack) ("python-faker" ,python-faker) ("python-pytest-aiohttp" ,python-pytest-aiohttp) ("python-aioresponses" ,python-aioresponses) ("python-pytest-benchmark" ,python-pytest-benchmark) ("python-toml" ,python-toml) ("tests" ;; The release on pypi comes without tests. We can't build from this ;; checkout, though, because installation requires an invocation of ;; poetry. ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/poljar/matrix-nio.git") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "152prkndk53pfxm4in4xak4hwzyaxlbp6wv2zbk2xpzgyy9bvn3s")))))) (propagated-inputs (list python-aiofiles python-aiohttp python-aiohttp-socks python-atomicwrites python-cachetools python-future python-h11 python-h2 python-jsonschema python-logbook python-olm python-peewee python-pycryptodome python-unpaddedbase64)) (home-page "https://github.com/poljar/matrix-nio") (synopsis "Python Matrix client library, designed according to sans I/O principles") (description "Matrix nio is a multilayered Matrix client library. The underlying base layer doesn't do any network IO on its own, but on top of that is a full fledged batteries-included asyncio layer using aiohttp.") (license license:isc))) (define-public pantalaimon (package (name "pantalaimon") (version "0.10.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/matrix-org/pantalaimon") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "153d8083lj3qqirbv5q1d3igzd61a5kyzfk7xmv29sd3jbs8ysm9")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'downgrade-appdirs-requirement (lambda _ (substitute* "setup.py" ;; FIXME: Remove this once appdirs is updated. ;; Upgrading python-appdirs requires rebuilting 3000+ packages, ;; when 1.4.4 is a simple maintenance fix from 1.4.3. (("appdirs >= 1.4.4") "appdirs >= 1.4.3")))) (replace 'check (lambda* (#:key tests? inputs outputs #:allow-other-keys) (when tests? (add-installed-pythonpath inputs outputs) (invoke "pytest" "-vv" "tests"))))))) (native-inputs (list python-aioresponses python-faker python-pytest python-pytest-aiohttp)) (propagated-inputs (list python-aiohttp python-appdirs python-attrs python-cachetools python-click python-dbus python-janus python-keyring python-logbook python-matrix-nio python-notify2 python-peewee python-prompt-toolkit python-pydbus python-pygobject)) (home-page "https://github.com/matrix-org/pantalaimon") (synopsis "Matrix proxy daemon that adds E2E encryption capabilities") (description "Pantalaimon is an end-to-end encryption aware Matrix reverse proxy daemon. Pantalaimon acts as a good man in the middle that handles the encryption for you. Messages are transparently encrypted and decrypted for clients inside of pantalaimon.") (license license:asl2.0)))