GithubHelp home page GithubHelp logo

fosskers / cargo-aur Goto Github PK

View Code? Open in Web Editor NEW
78.0 2.0 10.0 116 KB

Prepare Rust projects to be released on the Arch Linux User Repository

License: MIT License

Rust 100.00%
rust archlinux aur cargo-subcommand cargo cargo-plugin

cargo-aur's Introduction

cargo-aur's People

Contributors

bksalman avatar bunburya avatar dependabot[bot] avatar fosskers avatar margual56 avatar nt8r avatar sergioribera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cargo-aur's Issues

support rust workspace

workspace seems to be not supported.

I get workspace with 2 subprojets, but when running cargo aur, get Error: missing field package at line 1 column 1

Binaries are stripped by default

Hi, I think

options=("strip")

isn't necessary because strip is default option in /etc/makepkg.conf. And if it's not, user's config should be respected.

No big deal, but feedback is usually welcome, so there it is 😄

unexpected free argument `aur`

I am currently unable to run cargo aur, and don't know how to interpret the error message.

 > cargo aur
/home/vardy/.cargo/bin/cargo-aur: unexpected free argument `aur`

Any idea what I am doing wrong? How can I investigate this further?

Support for gitlab release URLs

Currently the PKGBUILD assumes that the assets are at <REPO>/releases/download/v<VERSION>/<NAME>-<VERSION>-x86_64.tar.gz.

However with Gitlab the assets are at <REPO>/-/archive/<TAG>/<ARTIFACT NAME>.

There could be a option to override these templates in the cmdline/environment variables.

Output to target/

Most Rust packaging and building tools (cargo, cargo-bundle, cargo-deb, etc.) output somewhere in the target directory. It would be wonderful if cargo-aur would do the same. I could make a PR if you don't want to do this yourself.

Add support for differing binary names

For example, my package, didyoumean builds a binary called dym with this addition to the Cargo.toml file:

[[bin]]
name = "dym"
path = "src/main.rs"

The script fails when running strip as the binary name is not as the script expects. The issue is with line 246 of main.rs: binary.push(&package.name); which assumes that package.name is the same as the produced binary.

I don't know enough about Cargo.toml parsing so I'm not sure how to parse a new field exactly and to change the binary path optionally if that field exists, however I would be glad to work on it if someone could point me in the right direction.

Make "homepage" optional in Cargo.toml

This tool appears to fail if the homepage field is not specified in Cargo.toml. C-METADATA, which is linked in the README, states that homepage is optional and further states:

The homepage metadata should only be set if there is a unique website for the crate other than the source repository or API documentation. Do not make homepage redundant with either the documentation or repository values. For example, serde sets homepage to https://serde.rs, a dedicated website.

Given that a lot of crates these days will just have a repository URL and not a separate homepage, I think it would be good to make homepage optional in cargo-aur (following the approach in C-METADATA). The url field in the PKGBUILD could be set to homepage or, if that is not present, documentation or, if that is not present, repository (the last being a required field per C-METADATA).

Happy to work on a PR for this if helpful.

Installing data into /usr/local/share

My project includes some data (mostly sample files) which I would like my aur package to install into /usr/local/share/<appname>. Can cargo-aur be configured to include these files in the tar file in a way that they would be copied into the right place on install?

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.