Name git-zsh-completion
Description the fast distributed version control system
Version 2.53.0-1
Package Base git
Homepage https://git-scm.com/
Maintainers ['Christian Hesse <mail@eworm.de>', 'Christian Heusel <gromit@archlinux.org>']
Contributors ['Dan McGee <dan@archlinux.org>']
Distro-repo https://gitlab.archlinux.org/archlinux/packaging/packages/git
Sources ['git+https://github.com/git/git#tag=v2.53.0?signed', 'git-daemon.socket', 'git-daemon@.service', 'git-sysusers.conf']
Dependencies ['git', 'zsh']
Optional-Dependencies []
Build-Dependencies ['python', 'xmlto', 'asciidoc', 'git', 'rust']
Provides []
Builddate 02-02-2026 18:17:16
Architecture x86_64
Distro-Version
Licenses ['GPL-2.0-only']
Hash beaf8dbe01dae699d2ac5d2b5692eca7208bdbaad04cc4bbd8a660bdb8a55378
# Maintainer: Christian Hesse <mail@eworm.de>
# Maintainer: Christian Heusel <gromit@archlinux.org>
# Contributor: Dan McGee <dan@archlinux.org>

pkgbase=git
pkgname=(git git-zsh-completion)
pkgver=2.53.0
pkgrel=1
pkgdesc='the fast distributed version control system'
arch=('x86_64')
url='https://git-scm.com/'
license=('GPL-2.0-only')
depends=('curl' 'expat' 'perl' 'perl-error' 'perl-mailtools'
         'openssl' 'pcre2' 'grep' 'shadow' 'zlib-ng')
makedepends=('python' 'xmlto' 'asciidoc' 'git' 'rust')
checkdepends=('openssh')
install=git.install
validpgpkeys=('96E07AF25771955980DAD10020D04E5A713660A7') # Junio C Hamano
source=("git+https://github.com/git/git#tag=v${pkgver}?signed"
        'git-daemon@.service'
        'git-daemon.socket'
        'git-sysusers.conf')
sha256sums=('9a01c7ee4b1d39392b1f0216c2548f3de1805bed6976140b0509f24751de0a6f'
            '14c0b67cfe116b430645c19d8c4759419657e6809dfa28f438c33a005245ad91'
            'ac4c90d62c44926e6d30d18d97767efc901076d4e0283ed812a349aece72f203'
            '7630e8245526ad80f703fac9900a1328588c503ce32b37b9f8811674fcda4a45')

_make() {
  local make_options=(
    prefix='/usr'
    gitexecdir='/usr/lib/git-core'
    perllibdir="$(/usr/bin/perl -MConfig -wle 'print $Config{installvendorlib}')"

    CFLAGS="$CFLAGS"
    LDFLAGS="$LDFLAGS"
    INSTALL_SYMLINKS=1
    MAN_BOLD_LITERAL=1
    NO_PERL_CPAN_FALLBACKS=1
    USE_LIBPCRE2=1
    ZLIB_NG=1
    WITH_RUST=1
  )

  make "${make_options[@]}" "$@"
}

build() {
  cd "$pkgbase"

  _make all man

  _make -C contrib/credential/libsecret
  _make -C contrib/subtree all man
  _make -C contrib/diff-highlight
}

check() {
  cd "$pkgbase"

  local jobs
  jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') || true
  mkdir -p /dev/shm/git-test
  # explicitly specify SHELL to avoid a test failure in t/t9903-bash-prompt.sh
  # which is caused by 'git rebase' trying to use builduser's SHELL inside the
  # build chroot (i.e.: /usr/bin/nologin)
  SHELL=/bin/sh \
  _make \
    NO_SVN_TESTS=y \
    DEFAULT_TEST_TARGET=prove \
    GIT_PROVE_OPTS="$jobs -Q" \
    GIT_TEST_OPTS="--root=/dev/shm/git-test" \
    test
}

package_git() {
  optdepends=(
    'git-zsh-completion: upstream zsh completion'
    'tk: gitk and git gui'
    'openssh: ssh transport and crypto'
    'man: show help with `git command --help`'
    'perl-libwww: git svn'
    'perl-term-readkey: git svn and interactive.singlekey setting'
    'perl-io-socket-ssl: git send-email TLS support'
    'perl-authen-sasl: git send-email TLS support'
    'perl-cgi: gitweb (web interface) support'
    'python: git svn & git p4'
    'subversion: git svn'
    'org.freedesktop.secrets: keyring credential helper'
    'libsecret: libsecret credential helper'
    'less: the default pager for git'
  )

  cd "$pkgbase"

  _make \
    DESTDIR="$pkgdir" \
    install install-man

  # bash completion
  mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
  install -m 0644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git
  # fancy git prompt
  mkdir -p "$pkgdir"/usr/share/git/
  install -m 0644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh
  # libsecret credentials helper
  install -m 0755 contrib/credential/libsecret/git-credential-libsecret \
      "$pkgdir"/usr/lib/git-core/git-credential-libsecret
  _make -C contrib/credential/libsecret clean
  # subtree installation
  _make -C contrib/subtree DESTDIR="$pkgdir" install install-man
  # the rest of the contrib stuff
  find contrib/ -name '.gitignore' -delete
  cp -a ./contrib/* "$pkgdir"/usr/share/git/

  # git-daemon via systemd socket activation
  install -D -m 0644 "$srcdir"/git-daemon@.service "$pkgdir"/usr/lib/systemd/system/git-daemon@.service
  install -D -m 0644 "$srcdir"/git-daemon.socket "$pkgdir"/usr/lib/systemd/system/git-daemon.socket

  # sysusers file
  install -D -m 0644 "$srcdir"/git-sysusers.conf "$pkgdir"/usr/lib/sysusers.d/git.conf
}

package_git-zsh-completion() {
  description='the fast distributed version control system - upstream zsh completion'
  depends=('git' 'zsh')

  install -d "$pkgdir"/usr/share/zsh/site-functions/
  ln -s ../../git/completion/git-completion.zsh "$pkgdir"/usr/share/zsh/site-functions/_git
}