From dbb3ad72b8f6402d17932992fc7c875644af2793 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 | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/srcpkgs/git/template b/srcpkgs/git/template index 9aa14d60ce1d..78ddb4c382c8 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,28 @@ 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 + CFLAGS = $CFLAGS + LDFLAGS = $LDFLAGS + USE_LIBPCRE2=YesPlease 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 = YesPlease + NO_REGEX = YesPlease + 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 +56,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 ec23e6a77a9cb9fc91f29fb15cd3aef2fc091fed 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 | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/srcpkgs/chroot-git/template b/srcpkgs/chroot-git/template index d4cd9d8e6a5e..d694e66a7ef0 100644 --- a/srcpkgs/chroot-git/template +++ b/srcpkgs/chroot-git/template @@ -4,10 +4,7 @@ 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" +build_style=gnu-makefile make_check_target=test makedepends="zlib-devel" short_desc="GIT Tree History Storage Tool -- for xbps-src use" @@ -25,15 +22,34 @@ fi post_configure() { cat <<-EOF >config.mak + prefix = /usr + CFLAGS = $CFLAGS + LDFLAGS = $LDFLAGS CC_LD_DYNPATH=-L NO_INSTALL_HARDLINKS=Yes NO_GETTEXT=Yes + NO_OPENSSL = YesPlease + USE_LIBPCRE := + USE_LIBPCRE2 := + NO_CURL = YesPlease + NO_EXPAT = YesPlease + NO_PERL = YesPlease + NO_PYTHON = YesPlease + NO_TCLTK = YesPlease EOF + + if [ "$XBPS_TARGET_LIBC" = musl ]; then + cat <<-EOF >>config.mak + ICONV_OMITS_BOM = YesPlease + NO_REGEX = YesPlease + 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 }