MSYS2-packages/git/PKGBUILD
Christoph Reiter 38126d763e makedepend on autotools for packages using configure
In some cases this will introduce cycles which could likely be cleaned
up by only depending on some unix tools instead of the whole autotools.

Rebuilding doesn't make much sense at this point since it just adds a subset
of base-devel which is still installed by default.
2021-12-12 14:20:50 +01:00

149 lines
4.6 KiB
Bash

# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Maintainer: Ray Donnelly <mingw.android@gmail.com>
pkgname=git
pkgver=2.34.1
pkgrel=1
pkgdesc="The fast distributed version control system"
arch=('i686' 'x86_64')
url="https://git-scm.com/"
license=('GPL2')
groups=('VCS')
depends=('curl'
'expat>=2.0'
#'info'
'libpcre2_8'
'vim'
'openssh'
'openssl'
'perl-Error'
'perl>=5.14.0'
'perl-Authen-SASL'
'perl-libwww'
'perl-MIME-tools'
'perl-Net-SMTP-SSL'
'perl-TermReadKey')
makedepends=('asciidoc'
'autotools'
'docbook-xml'
'docbook-xsl'
#'docbook2x'
'less'
'libcurl-devel'
'libiconv-devel'
'pcre2-devel'
'python'
'rsync'
#'texinfo'
'xmlto')
optdepends=(#'tk: gitk and git gui'
'python: various helper scripts'
'subversion: git svn'
#'cvsps: git cvsimport'
)
#install=git.install
replaces=('git-core')
provides=('git-core')
#options=('debug' '!strip')
source=("${pkgname}-${pkgver}.tar.gz"::https://github.com/git/git/archive/v${pkgver}.tar.gz
1.7.9-cygwin.patch
git-1.9.0-manifest-msys2.patch
git-1.8.4-msys2.patch
git-2.3.5-mingw-pwd.patch
git-2.8.2-Cygwin-Allow-DOS-paths.patch
git-tcsh-completion-fixes.patch)
sha256sums=('81b7ad3cff6adfab4c281b976f2c0ca91a3bd575210f36f5dfa71e69d872c830'
'c5e735d829e11f79e2d508b663d0924030498f48fc716881031fb975dbf187a5'
'47f5ff7840fa00665702fa70e5cc744de23b63ce2d9d787e2f86d2c54d57cc7a'
'340d289f8a9d82975b34bd635e8c734c0c8529d5ac1ad9bbc8a77ed752502b02'
'f67412f829e026b677d4c3ceacfb21da0549ad4636fb07c283e52c3fd5aa3e22'
'905e35e145be34f6affad830155a193d869da4898e46726f36cef2e89c073d23'
'b28b3e13de08911f027d19a557967fc21128318a8d6ca74b20b26ee997a9b992')
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
rm -f compat/win32/git.manifest compat/win32/resource.rc
patch -p2 -i "${srcdir}"/1.7.9-cygwin.patch
patch -p1 -i "${srcdir}"/git-1.8.4-msys2.patch
patch -p1 -i "${srcdir}"/git-1.9.0-manifest-msys2.patch
patch -p2 -i "${srcdir}"/git-2.3.5-mingw-pwd.patch
patch -p1 -i "${srcdir}"/git-2.8.2-Cygwin-Allow-DOS-paths.patch
patch -p1 -i "${srcdir}"/git-tcsh-completion-fixes.patch
local _arch=
if [ "${CARCH}" == 'x86_64' ]; then
_arch='amd64'
elif [ "${CARCH}" == 'i686' ]; then
_arch='x86'
fi
sed -e "s|@ARCH@|${_arch}|g" -i compat/win32/git.manifest
make configure
}
build() {
export PYTHON_PATH='/usr/bin/python'
cd "${srcdir}/${pkgname}-${pkgver}"
./configure \
--build=${CHOST} \
--prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib \
--with-libpcre2 \
--with-editor=vim \
--htmldir=/usr/share/doc/git/html \
--mandir=/usr/share/man
make INSTALLDIRS=vendor all
make -j1 man
#make -j1 info
make -C contrib/subtree prefix=/usr all
}
check() {
export PYTHON_PATH='/usr/bin/python'
cd "${srcdir}/${pkgname}-${pkgver}"
local jobs
jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*')
mkdir -p /tmp/git-test
# We used to use this, but silly git regressions:
#GIT_TEST_OPTS="--root=/dev/shm/" \
# https://comments.gmane.org/gmane.comp.version-control.git/202020
make \
NO_SVN_TESTS=y \
DEFAULT_TEST_TARGET=prove \
GIT_PROVE_OPTS="$jobs -Q" \
GIT_TEST_OPTS="--root=/tmp/git-test" \
test
}
package() {
export PYTHON_PATH='/usr/bin/python'
cd "${srcdir}/${pkgname}-${pkgver}"
make INSTALLDIRS=vendor DESTDIR="$pkgdir" install
make INSTALLDIRS=vendor DESTDIR="${pkgdir}" install-man
#make INSTALLDIRS=vendor DESTDIR="${pkgdir}" install-info
# bash completion
mkdir -p "${pkgdir}"/usr/share/bash-completion/completions/
install -m644 ./contrib/completion/git-completion.bash "${pkgdir}"/usr/share/bash-completion/completions/git
# fancy git prompt
mkdir -p "${pkgdir}"/usr/share/git/
install -m644 ./contrib/completion/git-prompt.sh "${pkgdir}"/usr/share/git/git-prompt.sh
# subtree installation
sed "s|libexec/git-core|lib/git-core|" -i contrib/subtree/Makefile
make -C contrib/subtree prefix=/usr DESTDIR="${pkgdir}" install
# the rest of the contrib stuff
cp -a ./contrib/* ${pkgdir}/usr/share/git/
# scripts are for python
sed -i 's|#![ ]*/usr/bin/env python$|#!/usr/bin/python|' \
$(find "${pkgdir}" -name '*.py') \
"${pkgdir}"/usr/lib/git-core/git-p4 \
"${pkgdir}"/usr/share/git/remote-helpers/git-remote-bzr \
"${pkgdir}"/usr/share/git/remote-helpers/git-remote-hg
}