Loading pkgs/by-name/ch/chroot-realpath/package.nix 0 → 100644 +21 −0 Original line number Diff line number Diff line { lib, rustPlatform, }: let cargo = lib.importTOML ./src/Cargo.toml; in rustPlatform.buildRustPackage { pname = cargo.package.name; version = cargo.package.version; src = ./src; cargoLock.lockFile = ./src/Cargo.lock; meta = { description = "Output a path's realpath within a chroot."; maintainers = [ lib.maintainers.elvishjerricco ]; }; } pkgs/by-name/ch/chroot-realpath/src/Cargo.lock 0 → 100644 +7 −0 Original line number Diff line number Diff line # This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 3 [[package]] name = "chroot-realpath" version = "0.1.0" pkgs/by-name/ch/chroot-realpath/src/Cargo.toml 0 → 100644 +9 −0 Original line number Diff line number Diff line [package] name = "chroot-realpath" version = "0.1.0" edition = "2021" [dependencies] [profile.release] opt-level = "z" pkgs/by-name/ch/chroot-realpath/src/src/main.rs 0 → 100644 +24 −0 Original line number Diff line number Diff line use std::env; use std::io::{stdout, Error, ErrorKind, Write}; use std::os::unix::ffi::OsStrExt; use std::os::unix::fs; fn main() -> std::io::Result<()> { let args: Vec<String> = env::args().collect(); if args.len() != 3 { return Err(Error::new( ErrorKind::InvalidInput, format!("Usage: {} <chroot> <path>", args[0]), )); } fs::chroot(&args[1])?; std::env::set_current_dir("/")?; let path = std::fs::canonicalize(&args[2])?; stdout().write_all(path.into_os_string().as_bytes())?; Ok(()) } Loading
pkgs/by-name/ch/chroot-realpath/package.nix 0 → 100644 +21 −0 Original line number Diff line number Diff line { lib, rustPlatform, }: let cargo = lib.importTOML ./src/Cargo.toml; in rustPlatform.buildRustPackage { pname = cargo.package.name; version = cargo.package.version; src = ./src; cargoLock.lockFile = ./src/Cargo.lock; meta = { description = "Output a path's realpath within a chroot."; maintainers = [ lib.maintainers.elvishjerricco ]; }; }
pkgs/by-name/ch/chroot-realpath/src/Cargo.lock 0 → 100644 +7 −0 Original line number Diff line number Diff line # This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 3 [[package]] name = "chroot-realpath" version = "0.1.0"
pkgs/by-name/ch/chroot-realpath/src/Cargo.toml 0 → 100644 +9 −0 Original line number Diff line number Diff line [package] name = "chroot-realpath" version = "0.1.0" edition = "2021" [dependencies] [profile.release] opt-level = "z"
pkgs/by-name/ch/chroot-realpath/src/src/main.rs 0 → 100644 +24 −0 Original line number Diff line number Diff line use std::env; use std::io::{stdout, Error, ErrorKind, Write}; use std::os::unix::ffi::OsStrExt; use std::os::unix::fs; fn main() -> std::io::Result<()> { let args: Vec<String> = env::args().collect(); if args.len() != 3 { return Err(Error::new( ErrorKind::InvalidInput, format!("Usage: {} <chroot> <path>", args[0]), )); } fs::chroot(&args[1])?; std::env::set_current_dir("/")?; let path = std::fs::canonicalize(&args[2])?; stdout().write_all(path.into_os_string().as_bytes())?; Ok(()) }