Skip to content
Snippets Groups Projects
Commit 7cddcc63 authored by Sean Koyama's avatar Sean Koyama
Browse files

Add git-lfs

parent 06f4103d
No related branches found
No related tags found
No related merge requests found
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import re
from spack.package import *
class GitLfs(MakefilePackage):
"""Git LFS is a system for managing and versioning large files in
association with a Git repository. Instead of storing the large files
within the Git repository as blobs, Git LFS stores special "pointer
files" in the repository, while storing the actual file contents on a
Git LFS server."""
homepage = "https://git-lfs.github.com"
url = "https://github.com/git-lfs/git-lfs/archive/v2.6.1.tar.gz"
tags = ["build-tools"]
executables = ["^git-lfs$"]
maintainers("sethrj")
version("3.3.0", sha256="d5eeb9ee33188d3dd6a391f8a39b96d271f10295129789e5b3a1ac0e9f5114f5")
version("3.1.2", sha256="5c9bc449068d0104ea124c25f596af16da85e7b5bf256bc544d8ce5f4fe231f2")
version("2.13.3", sha256="f8bd7a06e61e47417eb54c3a0db809ea864a9322629b5544b78661edab17b950")
version("2.12.1", sha256="2b2e70f1233f7efe9a010771510391a07527ec7c0af721ecf8edabac5d60f62b")
version("2.11.0", sha256="8183c4cbef8cf9c2e86b0c0a9822451e2df272f89ceb357c498bfdf0ff1b36c7")
version("2.10.0", sha256="07fd5c57a1039d5717dc192affbe3268ec2fd03accdca462cb504c0b4194cd23")
version("2.9.0", sha256="f1963ad88747577ffeeb854649aeacaa741c59be74683da4d46b129a72d111b7")
version("2.8.0", sha256="10b476bb8862ebceddc6f0a55f5fb63e2c1e5bed6554f6e3b207dd0155a196ad")
version("2.7.2", sha256="e65659f12ec557ae8c778c01ca62d921413221864b68bd93cfa41399028ae67f")
version("2.7.1", sha256="af60c2370d135ab13724d302a0b1c226ec9fb0ee6d29ecc335e9add4c86497b4")
version("2.7.0", sha256="1c829ddd163be2206a44edb366bd7f6d84c5afae3496687405ca9d2a5f3af07b")
version("2.6.1", sha256="e17cd9d4e66d1116be32f7ddc7e660c7f8fabbf510bc01b01ec15a22dd934ead")
depends_on("go@1.17:", type="build", when="@2.13:")
depends_on("go@1.5:", type="build", when="@:2.12")
depends_on("git@1.8.2:", type="run")
patch("patches/issue-10702.patch", when="@2.7.0:2.7.1")
# Mysterious syscall failures of old versions on new systems
conflicts("os=bigsur", when="@:2.11")
conflicts("os=monterey", when="@:2.11")
parallel = False
@classmethod
def determine_version(cls, exe):
output = Executable(exe)("--version", output=str, error=str)
match = re.search(r"git-lfs/(\S+)", output)
return match.group(1) if match else None
# Git-lfs does not provide an 'install' target in the Makefile
def install(self, spec, prefix):
mkdirp(prefix.bin)
install(join_path("bin", "git-lfs"), prefix.bin)
--- git-lfs-2.7.0/Makefile 2019-02-15 09:46:44.000000000 -0800
+++ git-lfs-2.7.0_patched/Makefile 2019-02-25 15:29:41.000000000 -0800
@@ -29,7 +29,9 @@
endif
# EXTRA_LD_FLAGS are given by the caller, and are passed to the Go linker after
# BUILTIN_LD_FLAGS are processed. By default the system LDFLAGS are passed.
+ifdef LDFLAGS
EXTRA_LD_FLAGS ?= -extldflags ${LDFLAGS}
+endif
# LD_FLAGS is the union of the above two BUILTIN_LD_FLAGS and EXTRA_LD_FLAGS.
LD_FLAGS = $(BUILTIN_LD_FLAGS) $(EXTRA_LD_FLAGS)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment