Code Monkey home page Code Monkey logo

coreutils's Introduction

Coreutils in Rust

Hits-of-Code Build Status FOSSA Status

An in-progress safe implementation of coreutils aiming for a minimal and yet complete set of utilities. This project aims at the POSIX specification basic requirements, plus common and useful features present in other implementations of the utility.

This project has no intent to be 100% compatible with GNU's coreutils, like Uutils' coreutils, but if it happens to be, it's okay too.

Minimum Rust Version Policy

This project's minimum supported rustc version (MSRV) is 1.43.0.

This will not be conservative until we get to a 1.0 version. So it can be changed at any point in time.

Compilation tests guarantees

Compilation is tested for Rust Tier 1 and Tier 2 x86_64 Unix/Unix-like platforms (except Redox), with CI.

All platforms are tested on MSRV and stable Rust, and Tier 1 platforms are also tested on beta and nightly Rust (Tier 2 and 3 only guarantee stable full capacity).

Also note that Tier 3 Rust tests can fail before it hits the compilation check, since my only option is to use a Linux system, add the target and do cargo check --target, and they often are not available as a target for any Tier 1 platforms. If you use one of these platforms and have the right MSRV requirements and it build successfully, let me know, if it fails, open a issue with the compilation error.

Platform Tier CI Status Manual Status
Linux Tier 1 Linux Passing (Manjaro Linux 5.3.2 - 2019-10-28) (8695863)
MacOS Tier 1 MacOS -
FreeBSD Tier 2 FreeBSD Passing (FreeBSD 12.0 - 2019-10-28) (8695863)
NetBSD Tier 2 NetBSD - (system without minimal version)
Solaris Tier 2 Solaris - (system without minimal version)
Fuchsia Tier 2 Fuchsia -
OpenBSD Tier 3 OpenBSD Passing (OpenBSD 6.6 Current - 2019-10-28) (8695863)
DragonflyBSD Tier 3 DragonflyBSD Passing (DragonflyBSD 5.6.2 - 2019-10-28) (8695863)
Haiku Tier 3 Haiku -

Compilation

Since not all targets provide full Unix API coverage (they aren't Unix or lack libc crate support), some can provide a Cargo.toml that have all utilities that should work on the target.

Compilation example for

cp <PLATFORM>.toml Cargo.toml
cargo build --release

Tools

Name Not Started Started Done
basename X
cat X
chgrp X
chmod X
chown X
chroot X
clear X
comm X
cp X
csplit X
cut X
date X
dd X
df X
diff X
dirname X
du X
echo X
env X
expand X
expr X
false X
groups X
hash X
head X
id X
install X
join X
link X
ln X
logname X
ls X
mkdir X
mktemp X
mkfifo X
mv X
nice X
nl X
nohup X
od X
paste X
patch X
printf X
pwd X
rm x
rmdir X
sed X
seq X
sort X
sleep X
split X
stat X
stty X
tail X
tee X
test X
time X
touch X
tr X
true X
tsort X
tty X
uname X
unexpand X
uniq X
unlink X
uptime X
users X
wc X
who X
whoami X
yes X

Licensing

This software is licensed under the Mozilla Public License, v. 2.0 (MPL). If a copy of the MPL was not distributed with this file, you can obtain one at http://mozilla.org/MPL/2.0/.

Contributing

We appreciate contributions, please check CONTRIBUTING.md for guidelines on how to contribute to the project with issue reports, git commits messages, etc.

The document also gives orientation on where to start if you wanna implement a pending tool from scratch.

Contributors

Without them this project would not be what it is today.

coreutils's People

Contributors

argentite avatar bojan88 avatar bors[bot] avatar dvermd avatar envp avatar federicoponzi avatar fossabot avatar grayjack avatar kaindljulian avatar kegesch avatar ladysamantha avatar marcospb19 avatar michelkansou avatar mkindahl avatar palfrey avatar rodrigocam avatar silverweed avatar tl-john-vincent avatar tobbez avatar twe4ked avatar zshzero avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.