commit:     d54853ca7bfdbff6a879af52c1a59da48c1b86e3
Author:     Nils Freydank <holgersson <AT> posteo <DOT> de>
AuthorDate: Sat Jul 29 12:20:56 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug  8 05:26:43 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d54853ca

dev-vcs/git-lfs: Bump to 3.4.0

Actually there is an official source archive w/ signed sha256sums, so
let's used that for the project's sources files.

Also make the vendored tarball more reproducable by setting a fix mtime,
using fixed sorting and setting user und group to portage.
These ideas are taken from Sam's bump-go script:
https://github.com/thesamesam/sam-gentoo-scripts/blob/main/maint/bump-go

Signed-off-by: Nils Freydank <holgersson <AT> posteo.de>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-vcs/git-lfs/Manifest             |  2 +
 dev-vcs/git-lfs/git-lfs-3.4.0.ebuild | 92 ++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+)

diff --git a/dev-vcs/git-lfs/Manifest b/dev-vcs/git-lfs/Manifest
index 2bec6642d1ed..ae9104382d07 100644
--- a/dev-vcs/git-lfs/Manifest
+++ b/dev-vcs/git-lfs/Manifest
@@ -1,3 +1,5 @@
 DIST git-lfs-3.2.0.tar.gz 3270970 BLAKE2B 
fc235d48e44f8a0f446b05914cd110e6486481482b2884483dcf04198a3275a633cd8090e1591975f8b84ba678c258581e3510fc0d478d5fc72abf6aa98bd5c0
 SHA512 
c2ba8cecd5b3519a032f446b0c3043352f37f3c67ff3c2304a38beb176f0ae8efd1deaeb8bd54a35d7dd7dcd988da67249c896dffd83fc293b165a3e6bb02d66
 DIST git-lfs-3.3.0-deps.tar.xz 24664124 BLAKE2B 
d22a7c7943a917746d1cf22db30582a8bc15e21fd1afe3194aae07316ddb68072ef2d183eef5b909566c640aa435f62aac0658ccbcb8148efe9506c102795656
 SHA512 
801d278eb76236ce683797ca7a9520b8dfe1ebdb59ccc4ba0526878f5e794d30199604004949e906ae6cccb68ea3b8e3afdacbd6de5e8a79448dfa09744af66c
 DIST git-lfs-3.3.0.tar.gz 656080 BLAKE2B 
33cd41c3669f0eb5b94299ca192ede32337b521c812ceb3ecc1e07f2375b80037b62948b8d4e345cd86324d4e781024b691e809550f61302a60962b1c8400c4c
 SHA512 
c339a61c23950d249ac135d75c9b9c4b871f491535d6d6a0accbf06efe36798566502ab310396f44acdc1d93aa7358a719a81428042fb2eda1ab237b08e4ba41
+DIST git-lfs-3.4.0-deps.tar.xz 19912396 BLAKE2B 
0e2e50e7b7566fe93d87f86c4b3a3a3f5f0cefc734af83516a5d3122d101333df5ed65cf848e727a1b7593ffdffeee72108221951313f47775b265f4fbdcb1be
 SHA512 
50f7eba5abd4a3ad83e1cd74d7d413e8f708b796b67d60d404af512823423532e1bbbfaa5385ee668cbdd6ec0bce89b862db571c76e5a3f0d0cee5097ccc73d2
+DIST git-lfs-3.4.0.tar.gz 674499 BLAKE2B 
8232c7492a453fc5a8855b13cfbf95c64a9c614d740bebebefcc44f6a7e2daddaee0dee3f8d8ba653999b8516c47a491af6449b5daf5e3861f3530d372b213e4
 SHA512 
ff0d624bc48d9ab4332943af8212652d9959e8f9d6a356a3722047903e01bc1dcf04178b97d58a327d0a381569854034c4a1dc2baea9976a8f20d97d7e637f31

diff --git a/dev-vcs/git-lfs/git-lfs-3.4.0.ebuild 
b/dev-vcs/git-lfs/git-lfs-3.4.0.ebuild
new file mode 100644
index 000000000000..10b83717c479
--- /dev/null
+++ b/dev-vcs/git-lfs/git-lfs-3.4.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2017-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+EGO_PN=github.com/git-lfs/git-lfs
+# Update the ID as it's included in each build.
+COMMIT_ID="d06d6e9efd78ff4f958b072146ce167d87f60285"
+
+inherit go-module
+
+DESCRIPTION="Command line extension and specification for managing large files 
with git"
+HOMEPAGE="
+       https://git-lfs.com
+       https://github.com/git-lfs/git-lfs
+"
+
+if [[ "${PV}" = 9999* ]]; then
+       EGIT_REPO_URI="https://${EGO_PN}";
+       inherit git-r3
+else
+       SRC_URI="https://${EGO_PN}/releases/download/v${PV}/${PN}-v${PV}.tar.gz 
-> ${P}.tar.gz"
+       # Add the manually vendored tarball.
+       # 1) Create a tar archive optimized to reproduced by other users or 
devs.
+       # 2) Compress the archive using XZ limiting decompression memory for
+       #    pretty constraint systems.
+       # Use something like:
+       # tar cf $P-deps.tar go-mod \
+       #       --mtime="1970-01-01" --sort=name --owner=portage --group=portage
+       # xz -k -9eT0 --memlimit-decompress=256M $P-deps.tar
+       SRC_URI+=" 
https://files.holgersson.xyz/gentoo/distfiles/golang-pkg-deps/${P}-deps.tar.xz";
+       KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="Apache-2.0 BSD BSD-2 BSD-4 ISC MIT"
+SLOT="0"
+IUSE="doc test"
+
+BDEPEND="
+       doc? ( dev-ruby/asciidoctor )
+"
+RDEPEND="dev-vcs/git"
+
+RESTRICT+=" !test? ( test )"
+
+DOCS=(
+       CHANGELOG.md
+       CODE-OF-CONDUCT.md
+       CONTRIBUTING.md
+       README.md
+       SECURITY.md
+)
+
+src_compile() {
+       export CGO_ENABLED=0
+
+       # Flags -w, -s: Omit debugging information to reduce binary size,
+       # see https://golang.org/cmd/link/.
+       local mygobuildargs=(
+               -ldflags="-X ${EGO_PN}/config.GitCommit=${COMMIT_ID} -s -w"
+               -gcflags=" "
+               -trimpath
+               -v -work -x
+       )
+       go build "${mygobuildargs[@]}" -o git-lfs git-lfs.go || die
+
+       if use doc; then
+               for doc in docs/man/*adoc;
+                       do asciidoctor -b manpage ${doc} || die "man building 
failed"
+               done
+       fi
+}
+
+src_install() {
+       dobin git-lfs
+       einstalldocs
+       use doc && doman docs/man/*.1
+}
+
+src_test() {
+       local mygotestargs=(
+               -ldflags="-X ${EGO_PN}/config.GitCommit=${COMMIT_ID}"
+       )
+       go test "${mygotestargs[@]}" ./... || die
+}
+
+pkg_postinst () {
+       if [[ -z "${REPLACING_VERSIONS}" ]]; then
+               elog ""
+               elog "Run 'git lfs install' once for each user account 
manually."
+               elog "For more details see 
https://bugs.gentoo.org/show_bug.cgi?id=733372.";
+       fi
+}

Reply via email to