cask-pkg / cask.rs Goto Github PK
View Code? Open in Web Editor NEWA universal, distributed binary file manager. 一个通用的去中心化二进制管理器
License: MIT License
A universal, distributed binary file manager. 一个通用的去中心化二进制管理器
License: MIT License
[package]
name = "github.com/axetroy/gpm.rs"
bin = "gpm"
versions = ["0.1.12", "0.1.11"]
authors = ["Axetroy <[email protected]>"]
keywords = ["gpm", "git", "project", "manager"]
repository = "https://github.com/axetroy/gpm.rs"
description = """
A command line tool, manage your hundreds of repository, written with Rust.
"""
[context]
foo = "bar"
[hook.unix.sh]
preinstall = """
echo "Welcome install {package.name}"
echo "hello {context.foo}"
"""
postinstall = """
echo "{package.bin}@{version} has been installed."
echo "Try runing with fllowing command {package.bin} --help"
"""
[darwin]
x86_64 = "https://github.com/axetroy/gpm.rs/releases/download/v{version}/gpm_darwin_amd64.tar.gz"
cask install github.com/axetroy/gpm.rs 0.x
Does it support using proxy to access the internet ?
$ git ls-remote -t https://github.com/axetroy/dvm
c70b12ab73babed5e5d65a5bb2bb2dfb7181ca3f refs/tags/v0.1.0
13c286ef00d0026ee16bfa98bf150e407fb60c2f refs/tags/v0.1.1
6c38034fbe23e35262dd2062c83718f7c6297054 refs/tags/v0.1.10
a7d3ef07937c6724881b29be08ba0caecb64dfec refs/tags/v0.1.11
b5234a34b1da347dcfbeb5c21162fc93c78dab88 refs/tags/v0.1.2
ef28817866c2588d12d274a156a10b9e5166c960 refs/tags/v0.1.3
a7647312094512544296ac7de325a40c5f2aee0d refs/tags/v0.1.4
c2518391ff2b39621862de301316f4ea3f0b2cea refs/tags/v0.1.5
daae12e737bd975da2ec90b7f492ffee4a3ee5e3 refs/tags/v0.1.6
19fbb2a0bd929e1c2568452db84a431097d1872a refs/tags/v0.1.7
3fabb4d92df23cfefc692723dac8b512be8a4827 refs/tags/v0.1.8
272d60788edfbd8f2892006d7d690205f5c6e435 refs/tags/v0.1.9
068b9a97149fb8a95a57606c9c1886fa3f98ef49 refs/tags/v1.0.0
0723cc7ed005ba1f3cc1c8eb1ee246139b3c83ce refs/tags/v1.0.1
14ed54a90af9d384d3d06394ce611c32f4504a50 refs/tags/v1.0.2
90997aa7206832d3e1c4db981fd4f97aeffac313 refs/tags/v1.0.3
35874bb867ba63cf0373ca22032ae535e3dbb868 refs/tags/v1.1.0
25e772a8e51b7dbcee408e8da07b118a28bc9886 refs/tags/v1.1.1
6a678115eda26b97b9546c474e9bad07262deb7c refs/tags/v1.1.2
89fc250cc9ccda95b8c8cf4a8b6158f550d412c5 refs/tags/v1.1.3
598f08ed08f9d1c317e230dad2b5b9a30ae7a253 refs/tags/v1.2.0
73ddf27526db3ff83ce75138ea562c6fb7fd415b refs/tags/v1.2.1
8449e79a4ffb021f728a82edc4ae5c9bb61ad01d refs/tags/v1.2.2
b20dac8798e02b08abcfa0e47909cc137554c953 refs/tags/v1.2.3
a97db540576524ab10b7030a8fd69a4db964cae3 refs/tags/v1.2.4
722c2cc3d43f00c9403c0eebdf8e690609b64c89 refs/tags/v1.2.5
a02c30a373e6444cd51d219311dd5e3383f3ee25 refs/tags/v1.3.0
459ab664bb6463cb4f3995dbab43265425d17103 refs/tags/v1.3.1
816a28d716ab6daaff26a5746667389712cd39b3 refs/tags/v1.3.10
c706294f12327248d8f9d587dc19c9fc0a120a35 refs/tags/v1.3.11
ca02d625e54aac7d979a9fdc8b27b2b5b7d122b3 refs/tags/v1.3.2
29a5ebdf6a28dc60d856fa2456073a8e7a9e46db refs/tags/v1.3.3
571b178745ab4082974f4823189543c417539e60 refs/tags/v1.3.4
2bee09d61176e5e32542b02ba8a9b73ea4bae876 refs/tags/v1.3.5
3d667e8151ebfb0f1d26ad0bf2fc208b008dcd9c refs/tags/v1.3.6
3eccf807f4d4b106c09d826733da3b625ca56b37 refs/tags/v1.3.7
2dc72ef3fe5aa871123a515d265a60b93036450c refs/tags/v1.3.8
051b2166b4e08f8290d01bf0e2205187e2fb7456 refs/tags/v1.3.9
make package.versions
optional.
if versions not provide, then it will fetch tags from repo and pick valid version
https://github.com/axetroy/cask.rs/runs/5643148108?check_suite_focus=true
error: failed to run custom build command for `bzip2-sys v0.1.11+1.0.8`
Caused by:
process didn't exit successfully: `/home/runner/work/cask.rs/cask.rs/target/release/build/bzip2-sys-a6ccc4bdf2d32a24/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=BZIP2_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_powerpc64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_powerpc64_unknown_linux_gnu
cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_ALLOW_CROSS
cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS
cargo:rerun-if-env-changed=PKG_CONFIG_powerpc64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_powerpc64_unknown_linux_gnu
cargo:rerun-if-env-changed=TARGET_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_powerpc64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_powerpc64_unknown_linux_gnu
cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
TARGET = Some("powerpc64-unknown-linux-gnu")
OPT_LEVEL = Some("z")
HOST = Some("x86_64-unknown-linux-gnu")
CC_powerpc64-unknown-linux-gnu = None
CC_powerpc64_unknown_linux_gnu = None
TARGET_CC = None
CC = None
CROSS_COMPILE = None
CFLAGS_powerpc64-unknown-linux-gnu = None
CFLAGS_powerpc64_unknown_linux_gnu = None
TARGET_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
CARGO_CFG_TARGET_FEATURE = None
running: "powerpc-linux-gnu-gcc" "-Os" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "bzip2-1.0.8" "-D_FILE_OFFSET_BITS=64" "-DBZ_NO_STDIO" "-o" "/home/runner/work/cask.rs/cask.rs/target/powerpc64-unknown-linux-gnu/release/build/bzip2-sys-111e0700d8097fca/out/lib/bzip2-1.0.8/blocksort.o" "-c" "bzip2-1.0.8/blocksort.c"
--- stderr
error occurred: Failed to find tool. Is `powerpc-linux-gnu-gcc` installed?
remove bzip2-sys and use in pure-rust impl
combine the command cask search
into cask info
PS C:\Users\Administrator\Desktop> cask install github.com/iawia002/lux
Fetching github.com/iawia002/lux formula...
thread 'main' panicked at 'install package fail!: can not found package github.com/iawia002/lux
Location:
src\formula.rs:215:17', src/main.rs:210:18
note: run with RUST_BACKTRACE=1
environment variable to display a backtrace
print JSON format output to stdout
# long command
cask info github.com/axetroy/dvm
# short command
cask info dvm
wait for: briansmith/ring#1167
[darwin]
x86_64 = { url = "https://github.com/xxx/xxx/releases/download/v{version}/golangci-lint-{version}-darwin-amd64.tar.gz", path = "/path/to/sub/folder" }
It doesn't work with or without sudo.
Neofetch
-` z@frame
.o+` -------
`ooo/ OS: Arch Linux x86_64
`+oooo: Host: HP 250 G7 Notebook PC
`+oooooo: Kernel: 5.16.13-arch1-1
-+oooooo+: Uptime: 3 hours, 49 mins
`/:-:++oooo+: Packages: 991 (pacman)
`/++++/+++++++: Shell: zsh 5.8.1
`/++++++++++++++: Resolution: 1366x768, 1600x900
`/+++ooooooooooooo/` WM: i3
./ooosssso++osssssso+` Theme: Adwaita [GTK2/3]
.oossssso-````/ossssss+` Icons: Adwaita [GTK2/3]
-osssssso. :ssssssso. Terminal: WezTerm
:osssssss/ osssso+++. CPU: Intel i5-1035G1 (8) @ 3.600GHz
/ossssssss/ +ssssooo/- GPU: Intel Iris Plus Graphics G1
`/ossssso+/:- -:/+osssso+- GPU: NVIDIA GeForce MX110
`+sso+:-` `.-/+oso: Memory: 3690MiB / 15785MiB
`++:. `-/+/
.` `/
# long command
cask uninstall github.com/axetroy/dvm
# short command, uninstall with the executable file name
cask rm dvm
cask will priority to requests {package}-cask.git
If that exists. then fetch Cask.toml from it.
if not then fetch from {package}.git
This looks great, but no one seems to want to create one more repository.
So, I want to remove it
As title. Seems cask-x86_64-unknown-linux-gnu.tar.gz was hidden from the URL
https://github.com/cask-pkg/cask.rs/releases
(unless you press 'Show all * assets')
curl https://example.com/Cask.toml | cask install
Support install package from a single URL that response the content of Cask.toml
cask install https://example.com/Cask.toml
fetch from a not exist repo
$ GIT_TERMINAL_PROMPT=0 git ls-remote -h https://github.com/axetroy/gpm.rsa
fatal: could not read Username for 'https://github.com/axetroy/gpm.rsa': terminal prompts disabled
Windows:
Cmd or PowerShell
Unix:
sh or shell
[hook]
preinstall = "echo 'preinstall'"
postinstall = "echo 'postinstall'"
# running hook in windows with PowerShell
[hook.windows]
preinstall = "echo 'preinstall'"
postinstall = "echo 'postinstall'"
# running hook in windows with sh
[hook.unix]
preinstall = "echo 'preinstall'"
postinstall = "echo 'postinstall'"
cask update
to update current cask to the latest version
cask upgrade github.com/axetroy/dvm -c
I see the configuration is only one file, why not just put Cask.toml
in the project repo instead of creating a separate one, I understand that Cask.toml
should also be part of the project, no need to store it separately.
[dependencies]
"github.com/example/foo" = "1.0.0"
"github.com/example/bar" = { version = "1.0.0" }
"github.com/example/cool" = { version = "1.x" }
[package]
name = "github.com/axetroy/gpm.rs"
bin = "gpm"
versions = ["0.1.12", "0.1.11"]
authors = ["Axetroy <[email protected]>"]
keywords = ["gpm", "git", "project", "manager"]
repository = "https://github.com/axetroy/gpm.rs"
description = """
A command line tool, manage your hundreds of repository, written with Rust.
"""
[build.unix]
sh = """
git clone https://github.com/axetroy/gpm.rs
make
"""
[[build.unix.binary]]
name = "gpm"
path = "./gpm"
[build.windows]
cmd = """
git clone https://github.com/axetroy/gpm.rs
make
"""
[[build.windows.binary]]
name = "gpm"
path = "./gpm.exe"
This formula will clone https://github.com/axetroy/gpm.rs
and then run make
command.
tar
command #21Cask.toml
git
command, use pure rust implement Git lib #36block on alexcrichton/tar-rs#286
Since tar-rs does not decompress files correctly, the system's decompression command tar is prioritized.
When the tar-rs is fixed, the dependence of the tar command will be removed.
Current:
# Cask.toml
[darwin]
x86_64 = { url = "https://github.com/<username>/<repo>/releases/download/v{version}/darwin_amd64.tar.gz" }
If the CASK.TOML file is just a simple point to binary, we can simplify it.
[darwin]
- x86_64 = { url = "https://github.com/<username>/<repo>/releases/download/v{version}/darwin_amd64.tar.gz" }
+ x86_64 = "https://github.com/<username>/<repo>/releases/download/v{version}/darwin_amd64.tar.gz"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.