From 61a22b2a7983d4573f0ba53cfeef0726adfbaa83 Mon Sep 17 00:00:00 2001 From: Vitalii Kuzhdin Date: Tue, 21 Jan 2025 01:18:45 +0100 Subject: [PATCH] Build from source --- .SRCINFO | 15 ++++++------- PKGBUILD | 65 ++++++++++++++++++++++++++++++++++---------------------- 2 files changed, 47 insertions(+), 33 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index f5669cd9485e..082f8c5924f0 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,17 +1,16 @@ pkgbase = gsh pkgdesc = A modern, POSIX-compatible, generative shell pkgver = 0.15.2 - pkgrel = 1 + pkgrel = 2 url = https://github.com/atinylittleshell/gsh + install = gsh.install arch = aarch64 + arch = i686 arch = x86_64 license = GPL-3.0-or-later makedepends = go - makedepends = git - conflicts = gsh - provides = gsh - - source = https://github.com/atinylittleshell/gsh/releases/download/v0.15.2/gsh-0.15.2.tar.gz - sha256sums = 8bfa36f97c8623b01a4b95830be2d3752207bc929e434b7f542ea5bf666e0191 - + depends = glibc + source = gsh-0.15.2.tar.gz::https://github.com/atinylittleshell/gsh/archive/refs/tags/v0.15.2.tar.gz + sha256sums = b3a76c78171ec24cc0f5afdf0e03de47f61a097fc26a030a71c70bc441cf97d4 + pkgname = gsh diff --git a/PKGBUILD b/PKGBUILD index c36fce26fd6a..ff084dffb992 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,30 +1,45 @@ -# This file was generated by GoReleaser. DO NOT EDIT. -# Maintainer: atinylittleshell -# Maintainer: Vitalii Kuzhdin +# Maintainer: atinylittleshell +# Maintainer: Vitalii Kuzhdin -pkgname='gsh' +pkgname="gsh" pkgver=0.15.2 -pkgrel=1 -pkgdesc='A modern, POSIX-compatible, generative shell' -url='https://github.com/atinylittleshell/gsh' -arch=('aarch64' 'x86_64') +pkgrel=2 +pkgdesc="A modern, POSIX-compatible, generative shell" +arch=('aarch64' 'i686' 'x86_64') +url="https://github.com/atinylittleshell/${pkgname}" license=('GPL-3.0-or-later') -provides=('gsh') -conflicts=('gsh') -makedepends=('go' 'git') -source=("${pkgname}_${pkgver}.tar.gz::https://github.com/atinylittleshell/gsh/releases/download/v0.15.2/gsh-0.15.2.tar.gz") -sha256sums=('8bfa36f97c8623b01a4b95830be2d3752207bc929e434b7f542ea5bf666e0191') -package() { - cd "${pkgname}_${pkgver}" +depends=('glibc') +makedepends=('go') +install="${pkgname}.install" +_pkgsrc="${pkgname}-${pkgver}" +source=("${_pkgsrc}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz") +sha256sums=('b3a76c78171ec24cc0f5afdf0e03de47f61a097fc26a030a71c70bc441cf97d4') - # bin - install -Dsm755 "./gsh" "${pkgdir}/usr/bin/gsh" - - # license - install -Dm644 "./LICENSE" "${pkgdir}/usr/share/licenses/gsh/LICENSE" - - # information - install -Dm644 "./README.md" "${pkgdir}/usr/share/doc/gsh/README.md" - install -Dm644 "./ROADMAP.md" "${pkgdir}/usr/share/doc/gsh/ROADMAP.md" - install -Dm644 "./CHANGELOG.md" "${pkgdir}/usr/share/doc/gsh/CHANGELOG.md" +prepare() { + cd "${srcdir}/${_pkgsrc}" + mkdir -p "build" +} + +build() { + cd "${srcdir}/${_pkgsrc}" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" + go build -o "build/${pkgname}" ./"cmd/${pkgname}" +} + +check() { + cd "${srcdir}/${_pkgsrc}" + go test ./... +} + +package() { + cd "${srcdir}/${_pkgsrc}" + install -vDm755 "build/${pkgname}" "${pkgdir}/usr/bin/${pkgname}" + install -vDm644 "CHANGELOG.md" "${pkgdir}/usr/share/doc/${pkgname}/CHANGELOG.md" + install -vDm644 "README.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md" + install -vDm644 "ROADMAP.md" "${pkgdir}/usr/share/doc/${pkgname}/ROADMAP.md" + install -vDm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" }