From f45290fe0302b89bb4bc03ac557720bd7b377e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Thu, 20 May 2021 00:26:04 +0700 Subject: [PATCH 1/2] git: build as gnu-makefile Git project officially recommended to use "make" directly, they expressed that autotools was a bad idea and people shouldn't use configure [1]. 1: https://lore.kernel.org/git/xmqq4kxiiuba.fsf@gitster-ct.c.googlers.com/ --- srcpkgs/git/template | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/srcpkgs/git/template b/srcpkgs/git/template index 9aa14d60ce1d..6238661fa6b8 100644 --- a/srcpkgs/git/template +++ b/srcpkgs/git/template @@ -2,8 +2,6 @@ pkgname=git version=2.31.1 revision=1 -build_style=gnu-configure -configure_args="--with-curl --with-expat --with-tcltk --with-libpcre2" hostmakedepends="asciidoc gettext perl pkg-config tar tk xmlto" makedepends="libglib-devel libcurl-devel libsecret-devel pcre2-devel tk-devel" # Required by https:// @@ -21,16 +19,30 @@ python_version=3 subpackages="git-cvs git-svn gitk git-gui git-all git-libsecret git-netrc" -post_configure() { +do_configure() { cat <<-EOF >config.mak + prefix = /usr + CC = $CC + AR = $AR + CFLAGS = $CFLAGS + LDFLAGS = $LDFLAGS + USE_LIBPCRE2=Yes NO_INSTALL_HARDLINKS=Yes INSTALLDIRS=vendor perllibdir=/usr/share/perl5/vendor_perl PYTHON_PATH=/usr/bin/python3 EOF + + if [ "$XBPS_TARGET_LIBC" = musl ]; then + cat <<-EOF >>config.mak + ICONV_OMITS_BOM = Yes + NO_REGEX = Yes + EOF + fi } -post_build() { +do_build() { + make ${makejobs} make ${makejobs} -C Documentation man make ${makejobs} -C contrib/contacts all git-contacts.1 make ${makejobs} -C contrib/diff-highlight all @@ -46,8 +58,8 @@ do_check() { make -C contrib/credential/netrc test } -post_install() { - make DESTDIR=${DESTDIR} install-doc +do_install() { + make DESTDIR=${DESTDIR} install install-doc vinstall contrib/completion/git-completion.bash 644 \ usr/share/bash-completion/completions git vinstall contrib/completion/git-prompt.sh 644 usr/share/git From 514f39d005ab78c2273ffa922c60268a5d3e301a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Thu, 20 May 2021 00:44:05 +0700 Subject: [PATCH 2/2] chroot-git: build manually MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As recommended by Git project itself. Also reduce the time for running configure script. --- srcpkgs/chroot-git/template | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/srcpkgs/chroot-git/template b/srcpkgs/chroot-git/template index d4cd9d8e6a5e..b39c986b0503 100644 --- a/srcpkgs/chroot-git/template +++ b/srcpkgs/chroot-git/template @@ -4,10 +4,6 @@ version=2.31.1 revision=1 bootstrap=yes wrksrc="git-${version}" -build_style=gnu-configure -configure_args="--without-curl --without-openssl - --without-python --without-expat --without-tcltk - ac_cv_lib_curl_curl_global_init=no ac_cv_lib_expat_XML_ParserCreate=no" make_check_target=test makedepends="zlib-devel" short_desc="GIT Tree History Storage Tool -- for xbps-src use" @@ -23,17 +19,38 @@ else configure_args+=" --with-zlib=${XBPS_MASTERDIR}/usr" fi -post_configure() { +do_configure() { cat <<-EOF >config.mak + prefix = /usr + CC = $CC + AR = $AR + CFLAGS = $CFLAGS + LDFLAGS = $LDFLAGS CC_LD_DYNPATH=-L NO_INSTALL_HARDLINKS=Yes NO_GETTEXT=Yes + NO_OPENSSL = Yes + USE_LIBPCRE := + USE_LIBPCRE2 := + NO_CURL = Yes + NO_EXPAT = Yes + NO_PERL = Yes + NO_PYTHON = Yes + NO_TCLTK = Yes EOF + + if [ "$XBPS_TARGET_LIBC" = musl ]; then + cat <<-EOF >>config.mak + ICONV_OMITS_BOM = Yes + NO_REGEX = Yes + EOF + fi } -do_install() { - # remove unneeded stuff. - make DESTDIR=${wrksrc}/build-tmp install +do_build() { + make ${makejobs} git +} - vbin ${wrksrc}/build-tmp/usr/bin/git chroot-git +do_install() { + vbin git chroot-git }