pkgname=uplink-c _basename=storj pkgver=1.2.3 pkgrel=1 pkgdesc="Storj Tardigrade Uplink C bindings" arch=('x86_64') url="https://github.com/storj/uplink-c" license=('MIT') source=("$pkgname-$pkgver.tar.gz::https://github.com/${_basename}/${pkgname}/archive/v${pkgver}.tar.gz") depends=('glibc') makedepends=('go') sha256sums=('1ead521f53fbc7cfd43adfac7dfa2d97365bc6683d90b3df1d3950480a234094') prepare(){ cd "$pkgname-$pkgver" sed -i "s/0.0.0/$pkgver/" scripts/version mkdir -p build } build() { cd "$pkgname-$pkgver" 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 -modfile=go-gpl2.mod -tags=stdsha256" cp go.mod go-gpl2.mod cp go.sum go-gpl2.sum go mod edit -replace github.com/spacemonkeygo/monkit/v3=./internal/replacements/monkit go build -buildmode c-shared -o build/uplink.so . #named uplink here to produce header uplink.h cp uplink_definitions.h uplink_compat.h build DESTDIR=/usr ./scripts/gen-pkg-config > build/libuplink.pc } package() { cd "$pkgname-$pkgver" install -dm 755 "${pkgdir}"/usr/{include/uplink,lib/pkgconfig} install -Dm 644 build/uplink.so "${pkgdir}"/usr/lib/libuplink.so install -m 644 build/*.h "${pkgdir}"/usr/include/uplink install -m 644 build/libuplink.pc "${pkgdir}"/usr/lib/pkgconfig install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" }