(define-module (rain-and-roses packages oniux) #:use-module (gnu) #:use-module (gnu packages) #:use-module (guix build-system cargo) #:use-module (gnu packages version-control) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages pkg-config) #:use-module ((guix licenses) #:prefix license:)) (define-public (rain-and-roses-cargo-inputs name) (cargo-inputs name #:module '(rain-and-roses packages rust-crates))) (define-public oniux (package (name "oniux") (version "0.6.0") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.torproject.org/tpo/core/oniux") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0afwahcmcznd19i28sc2nmz1iy62hapidfvbn9fnzm2fb8ilifr8")))) (build-system cargo-build-system) (arguments (list #:install-source? #f #:phases #~(modify-phases %standard-phases (add-after 'unpack 'use-guix-vendored-dependencies (lambda _ (substitute* "Cargo.toml" (("# version =.*") "version = \"*\"") (("git.*optional") "version = \"*\", optional") (("^git = .*") ""))))))) (native-inputs (list pkg-config)) (inputs (cons* git-minimal (rain-and-roses-cargo-inputs 'oniux))) (home-page "https://gitlab.torproject.org/tpo/core/oniux") (synopsis "Kernel-level Tor isolation for any Linux app ") (description "oniux is a tool that utilizes various Linux namespaces(7) in order to isolate an arbitrary application over the Tor network.") (license license:gpl3+)))