mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-10 07:57:59 -05:00
* Add unbuilt git to updater-git-2.51.2 * updater-git-2.51.2: Package File Update Run on linux/386 container. * updater-git-2.51.2: Package File Update Run on linux/amd64 container. * updater-git-2.51.2: Package File Update Run on linux/arm/v7 container. --------- Co-authored-by: chromebrew-actions[bot] <chromebrew-actions[bot]@users.noreply.github.com>
92 lines
3.5 KiB
Ruby
92 lines
3.5 KiB
Ruby
require 'buildsystems/meson'
|
|
|
|
class Git < Meson
|
|
description 'Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.'
|
|
homepage 'https://git-scm.com/'
|
|
version '2.51.2'
|
|
license 'GPL-2'
|
|
compatibility 'all'
|
|
source_url "https://mirrors.edge.kernel.org/pub/software/scm/git/git-#{version.split('-').first}.tar.xz"
|
|
source_sha256 '233d7143a2d58e60755eee9b76f559ec73ea2b3c297f5b503162ace95966b4e3'
|
|
binary_compression 'tar.zst'
|
|
|
|
binary_sha256({
|
|
aarch64: '869fbe2b5493ec1a8291a61663e1ba0f90122f470f9956a659ef2289139c4af2',
|
|
armv7l: '869fbe2b5493ec1a8291a61663e1ba0f90122f470f9956a659ef2289139c4af2',
|
|
i686: 'c7b6140ed7c89f866d88867ef0c55ac8f1a1f04c559fe19e488785c5b3d3ae70',
|
|
x86_64: 'c5c556bdd7a6452392b4d8c71215b7ee48baf1d46f5069a7b48bf8b3988a5612'
|
|
})
|
|
|
|
depends_on 'ca_certificates' => :build
|
|
depends_on 'curl' # R
|
|
depends_on 'expat' # R
|
|
depends_on 'glibc' # R
|
|
depends_on 'openssl' # R
|
|
depends_on 'pcre2' # R
|
|
depends_on 'py3_asciidoc' => :build
|
|
depends_on 'ruby_asciidoctor' => :build
|
|
depends_on 'xmlto' => :build
|
|
depends_on 'zlib_ng' # R
|
|
|
|
print_source_bashrc
|
|
run_tests
|
|
|
|
meson_options "-Ddefault_pager=most \
|
|
-Ddocs=man \
|
|
-Dgitattributes=#{CREW_PREFIX}/etc/gitattributes \
|
|
-Dgitconfig=#{CREW_PREFIX}/etc/gitconfig \
|
|
-Dgitweb=disabled \
|
|
-Dsane_tool_path=#{CREW_PREFIX}/bin \
|
|
-Dzlib_backend=zlib-ng"
|
|
|
|
meson_build_extras do
|
|
git_env = <<~EOF
|
|
|
|
GIT_PS1_SHOWDIRTYSTATE=yes
|
|
GIT_PS1_SHOWSTASHSTATE=yes
|
|
GIT_PS1_SHOWUNTRACKEDFILES=yes
|
|
GIT_PS1_SHOWUPSTREAM=auto
|
|
GIT_PS1_DESCRIBE_STYLE=default
|
|
GIT_PS1_SHOWCOLORHINTS=yes
|
|
|
|
# Add LIBC_VERSION and CHROMEOS_RELEASE_CHROME_MILESTONE set in
|
|
# crew_profile_base to prompt if in a container.
|
|
if [[ -e /.dockerenv ]] && [ -n "${LIBC_VERSION+1}" ] && [ -n "${CHROMEOS_RELEASE_CHROME_MILESTONE+1}" ]; then
|
|
PS1='\\[\\033[1;34m\\]\\u@\\H:$LIBC_VERSION M$CHROMEOS_RELEASE_CHROME_MILESTONE \\[\\033[1;33m\\]\\w \\[\\033[1;31m\\]$(__git_ps1 "(%s)")\\[\\033[0m\\]\\$ '
|
|
else
|
|
PS1='\\[\\033[1;34m\\]\\u@\\H \\[\\033[1;33m\\]\\w \\[\\033[1;31m\\]$(__git_ps1 "(%s)")\\[\\033[0m\\]\\$ '
|
|
fi
|
|
EOF
|
|
File.write('contrib/completion/git-prompt.sh', git_env, mode: 'a')
|
|
end
|
|
|
|
meson_install_extras do
|
|
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/git-completion"
|
|
FileUtils.cp_r Dir.glob('contrib/completion/.'), "#{CREW_DEST_PREFIX}/share/git-completion/"
|
|
|
|
File.write 'git_bashd_env', <<~GIT_BASHD_EOF
|
|
# git bash completion
|
|
source #{CREW_PREFIX}/share/git-completion/git-completion.bash
|
|
GIT_BASHD_EOF
|
|
FileUtils.install 'git_bashd_env', "#{CREW_DEST_PREFIX}/etc/bash.d/git", mode: 0o644
|
|
FileUtils.install 'contrib/completion/git-prompt.sh', "#{CREW_DEST_PREFIX}/etc/bash.d/git-prompt.sh", mode: 0o644
|
|
end
|
|
|
|
def self.check
|
|
# Check to see if linking libcurl worked, which means
|
|
# git-remote-https should exist
|
|
unless File.symlink?("#{CREW_DEST_PREFIX}/libexec/git-core/git-remote-https") ||
|
|
File.exist?("#{CREW_DEST_PREFIX}/libexec/git-core/git-remote-https")
|
|
abort 'git-remote-https is broken'.lightred
|
|
end
|
|
end
|
|
|
|
def self.postinstall
|
|
ExitMessage.add "\ncd /path/to/git/repo and you should see the branch displayed in the prompt.\n".lightblue
|
|
return unless File.directory?("#{CREW_PREFIX}/lib/crew/.git")
|
|
|
|
puts 'Running git garbage collection...'.lightblue
|
|
system 'git gc', chdir: CREW_LIB_PATH, exception: false
|
|
end
|
|
end
|