From 2ed0bbb1a674f64afd74f61d3a3ed9a809ec9ad0 Mon Sep 17 00:00:00 2001 From: JMARyA Date: Wed, 16 Apr 2025 09:53:06 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20PKGBUILD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .woodpecker/build.yml | 11 +++++++++++ Cargo.toml | 4 ++++ PKGBUILD | 39 +++++++++++++++++++++++++++++++++++++++ src/main.rs | 31 +++++++++++++++++-------------- 4 files changed, 71 insertions(+), 14 deletions(-) create mode 100644 PKGBUILD diff --git a/.woodpecker/build.yml b/.woodpecker/build.yml index 7b4c3bc..c2e0529 100644 --- a/.woodpecker/build.yml +++ b/.woodpecker/build.yml @@ -13,3 +13,14 @@ steps: username: jmarya password: from_secret: registry_token + + - name: "PKGBUILD" + image: git.hydrar.de/jmarya/pacco:latest + commands: + - pacco build --ci --push navos + environment: + PACCO_HOST: "https://pac.hydrar.de" + PACCO_TOKEN: + from_secret: pacco_token + SIGN_KEY: + from_secret: sign_key diff --git a/Cargo.toml b/Cargo.toml index 55ebdfd..ff0162a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,6 +3,10 @@ name = "pacco" version = "0.1.0" edition = "2024" +[[bin]] +name = "pacco" +path = "src/main.rs" + [dependencies] based = { git = "https://git.hydrar.de/jmarya/based" } comrade = { git = "https://git.hydrar.de/jmarya/comrade" } diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..d331e42 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: JMARyA +pkgname=pacco +pkgver=main +pkgrel=1 +pkgdesc="pacman package tool" +arch=('x86_64' 'aarch64') +url="https://git.hydrar.de/jmarya/pacco" +license=("MIT") +depends=('tar' 'xz' 'zstd' 'curl' 'base-devel' 'git' 'rsync' 'pacman') +optdepends=('docker') +makedepends=("rustup" "git") +source=("${pkgname}::git+https://git.hydrar.de/jmarya/pacco.git") +sha256sums=("SKIP") + +pkgver() { + cd "$srcdir/$pkgname" + echo "$(date +%Y.%m.%d)_$(git rev-parse --short HEAD)" +} + +prepare() { + cd "$srcdir/$pkgname" + rustup default nightly + cargo fetch +} + +build() { + cd "$srcdir/$pkgname" + cargo build --release +} + +check() { + cd "$srcdir/$pkgname" + cargo test --release +} + +package() { + cd "$srcdir/$pkgname" + install -Dm755 "target/release/pacco" "$pkgdir/usr/bin/pacco" +} diff --git a/src/main.rs b/src/main.rs index 63d34dd..d6e2ba2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -56,20 +56,23 @@ async fn launch(config: String) { ..Default::default() }) .mount_assets() - .mount("/", routes![ - routes::index_page, - routes::pkg_route, - routes::push::upload_pkg, - routes::user::login, - routes::user::login_post, - routes::user::account_page, - routes::ui::pkg_ui, - routes::ui::repo_ui, - routes::user::new_api_key, - routes::user::end_session, - routes::user::change_password, - routes::user::change_password_post - ]) + .mount( + "/", + routes![ + routes::index_page, + routes::pkg_route, + routes::push::upload_pkg, + routes::user::login, + routes::user::login_post, + routes::user::account_page, + routes::ui::pkg_ui, + routes::ui::repo_ui, + routes::user::new_api_key, + routes::user::end_session, + routes::user::change_password, + routes::user::change_password_post + ], + ) .manage(config) .manage(shell) .launch()