First commit

This commit is contained in:
mapk0y 2026-01-24 03:14:45 +09:00
commit 78de810649
No known key found for this signature in database
6 changed files with 145 additions and 0 deletions

14
.SRCINFO Normal file
View file

@ -0,0 +1,14 @@
pkgbase = git-wt
pkgdesc = A Git subcommand that makes `git worktree` simple
pkgver = 0.15.0
pkgrel = 1
url = https://github.com/k1LoW/git-wt
arch = aarch64
arch = x86_64
license = MIT
source_aarch64 = https://github.com/k1LoW/git-wt/releases/download/v0.15.0/git-wt_v0.15.0_linux_arm64.tar.gz
sha256sums_aarch64 = 269e6ff231c84ad139b1350a8838dd6bf32d5262b48c04b6751e5c306597e2ba
source_x86_64 = https://github.com/k1LoW/git-wt/releases/download/v0.15.0/git-wt_v0.15.0_linux_amd64.tar.gz
sha256sums_x86_64 = c13442fef2ba65e43b57374311709ccd50ee20c9c15b5f76fc02c406ae553f88
pkgname = git-wt

5
.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
*.tar.gz
*.tar.xz
pkg/
src/

7
Dockerfile Normal file
View file

@ -0,0 +1,7 @@
FROM archlinux:base
# ref. https://github.com/KSXGitHub/github-actions-deploy-aur
RUN pacman -Syu --noconfirm
RUN pacman -S --noconfirm --needed \
pacman-contrib

58
Makefile Normal file
View file

@ -0,0 +1,58 @@
# vi: set ft=make ts=2 sw=2 sts=0 noet:
SHELL := /bin/bash
MAKEFILE_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
TARGET_REPO := k1LoW/git-wt
.PHONY: default
default: help
# http://postd.cc/auto-documented-makefile/
.PHONY: help help-common
help: help-common
help-common:
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m %-30s\033[0m %s\n", $$1, $$2}'
.PHONY: all renew install update_checksum packaging clean update_tag test
all: update_tag packaging test ## Update to the latest version and packaging for release [Recommended]
renew: update_tag install ## get newer version and renew package, install that
install: ## install package
makepkg -si
update_checksum: ## upgrade pkg checksum
@# makepkg -g は更新してくれるわけではない
@# https://wiki.archlinux.org/title/PKGBUILD#Integrity
updpkgsums
packaging: update_checksum ## packaging for manual operation
makepkg -s
makepkg --printsrcinfo > .SRCINFO
clean: ## remove tar.gz
rm -vf *.tar.xz *.tar.gz
update_tag: LATEST := $(shell curl -sL https://api.github.com/repos/$(TARGET_REPO)/releases/latest | jq -r '.tag_name|ltrimstr("v")')
update_tag: ## get and update newest version in PKGBUILD
source ./PKGBUILD && \
if [[ $${pkgver} != $(LATEST) ]]; then \
sed -i -e 's/^pkgver=.*$$/pkgver=$(LATEST)/' ./PKGBUILD && \
sed -i -e 's/^pkgrel=.*$$/pkgrel=1/' ./PKGBUILD && \
updpkgsums && \
git diff ./PKGBUILD; \
else \
echo "This is the latest version: $${pkgver}"; \
fi
test: ## test (needs make packaging)
docker build -t arch:arch-package-test -f $(MAKEFILE_DIR)/Dockerfile $(MAKEFILE_DIR) && \
docker run -it --rm -v $(MAKEFILE_DIR):/work -w /work arch:arch-package-test ./test.sh
namcap PKGBUILD
source ./PKGBUILD && namcap "$${pkgname}-$${pkgver}-$${pkgrel}-$$(uname -m).pkg.tar.xz"

37
PKGBUILD Normal file
View file

@ -0,0 +1,37 @@
# Maintainer: Kazuya Yokogawa <mapk0y at gmail.com>
pkgname='git-wt'
pkgver=0.15.0
pkgrel=1
pkgdesc='A Git subcommand that makes `git worktree` simple'
url='https://github.com/k1LoW/git-wt'
license=('MIT')
arch=('aarch64' 'x86_64')
depends=()
conflicts=()
source_aarch64=("${url}/releases/download/v${pkgver}/${pkgname}_v${pkgver}_linux_arm64.tar.gz")
source_x86_64=("${url}/releases/download/v${pkgver}/${pkgname}_v${pkgver}_linux_amd64.tar.gz")
sha256sums_aarch64=('269e6ff231c84ad139b1350a8838dd6bf32d5262b48c04b6751e5c306597e2ba')
sha256sums_x86_64=('c13442fef2ba65e43b57374311709ccd50ee20c9c15b5f76fc02c406ae553f88')
build() {
cd "$srcdir"
${pkgname} --init zsh > ${pkgname}.zsh
${pkgname} --init bash > ${pkgname}.bash
${pkgname} --init fish > ${pkgname}.fish
}
package() {
install -Dm644 ${srcdir}/README.md "$pkgdir/usr/share/doc/${pkgname}/README.md"
install -Dm644 ${srcdir}/LICENSE "$pkgdir/usr/share/licenses/${pkgname}/LICENSE"
install -Dm755 ${srcdir}/${pkgname} "$pkgdir/usr/bin/${pkgname}"
install -Dm644 ${srcdir}/${pkgname}.zsh "$pkgdir/usr/share/zsh/site-functions/_${pkgname}"
install -Dm644 ${srcdir}/${pkgname}.bash "$pkgdir/usr/share/bash-completion/completions/${pkgname}"
install -Dm644 ${srcdir}/${pkgname}.fish "$pkgdir/usr/share/fish/completions/${pkgname}.fish"
}
check() {
${srcdir}/${pkgname} version
}

24
test.sh Executable file
View file

@ -0,0 +1,24 @@
#!/bin/bash
set -eu
source ./PKGBUILD
echo "## install start"
pacman -U --noconfirm "${pkgname}-${pkgver}-${pkgrel}-$(uname -m).pkg.tar.xz"
echo "## install completed"
echo "## check installed files"
echo
echo "### check command help"
${pkgname} --help
echo
echo "### check command version"
${pkgname} --version
echo "test OK"