diff --git a/pkg.info b/pkg.info index d71ce1d..815da24 100644 --- a/pkg.info +++ b/pkg.info @@ -1,9 +1,10 @@ name: git description: A free and open source distributed version control system -version: 2.44.0 -revision: 2 +version: 2.49.0 url: https://git-scm.com/ license: GPL2-only architecture: any -optional_depends: ["curl"] +depends: ["expat","pcre2","zlib"] +optional_depends: ["curl","libsecret","openssh","python3"] +make_depends: ["asciidoc","gettext","perl","pkgconf","openssh","python3","xmlto"] type: source diff --git a/source.sh b/source.sh index ea80a1c..c7ab39d 100644 --- a/source.sh +++ b/source.sh @@ -3,42 +3,48 @@ # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT DOWNLOAD="https://www.kernel.org/pub/software/scm/git/git-${BPM_PKG_VERSION}.tar.xz" -DOWNLOAD_MANPAGES="https://www.kernel.org/pub/software/scm/git/git-manpages-${BPM_PKG_VERSION}.tar.xz" -DOWNLOAD_HTMLDOCS="https://www.kernel.org/pub/software/scm/git/git-htmldocs-${BPM_PKG_VERSION}.tar.xz" FILENAME="${DOWNLOAD##*/}" -FILENAME_MANPAGES="${DOWNLOAD_MANPAGES##*/}" -FILENAME_HTMLDOCS="${DOWNLOAD_HTMLDOCS##*/}" + # The prepare function is executed in the root of the temp directory # This function is used for downloading files and putting them into the correct location prepare() { wget "$DOWNLOAD" - wget "$DOWNLOAD_MANPAGES" - wget "$DOWNLOAD_HTMLDOCS" tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" } # The build function is executed in the source directory # This function is used to compile the source code build() { - ./configure --prefix=/usr --with-gitconfig=/etc/gitconfig --with-python=python3 - make + ./configure --prefix=/usr --with-gitconfig=/etc/gitconfig --with-python=python3 --with-libpcre2 + + # Compile git and its documentation + make all man + + # Compile libsecret credential helper + make -C contrib/credential/libsecret } # The check function is executed in the source directory # This function is used to run tests to verify the package has been compiled correctly check() { - make test -k + SHELL=/bin/sh NO_SVN_TESTS=y DEFAULT_TEST_TARGET=prove GIT_TEST_OPTS="--root=/dev/shm/git-test" GIT_UNZIP=nonexist make test } # The package function is executed in the source directory # This function is used to move the compiled files into the output directory package() { - make perllibdir=/usr/lib/perl5/5.38/site_perl DESTDIR="$BPM_OUTPUT" install - mkdir -p "$BPM_OUTPUT"/usr/share/man - tar -xf ../git-manpages-"${BPM_PKG_VERSION}".tar.xz -C "$BPM_OUTPUT"/usr/share/man --no-same-owner --no-overwrite-dir - mkdir -p "$BPM_OUTPUT"/usr/share/doc/git - tar -xf ../git-htmldocs-"${BPM_PKG_VERSION}".tar.xz -C "$BPM_OUTPUT"/usr/share/doc/git --no-same-owner --no-overwrite-dir - find "$BPM_OUTPUT"/usr/share/doc/git -type d -exec chmod 755 {} \; - find "$BPM_OUTPUT"/usr/share/doc/git -type f -exec chmod 644 {} \; + make perllibdir=$(/usr/bin/perl -MConfig -wle 'print $Config{installvendorlib}') DESTDIR="$BPM_OUTPUT" install install-man + + # Install bash completions + install -Dm644 contrib/completion/git-completion.bash "$BPM_OUTPUT"/usr/share/bash-completion/completions/git + + # Install git prompt + install -Dm644 contrib/completion/git-prompt.sh "$BPM_OUTPUT"/usr/share/git/git-prompt.sh + + # Install libsecret credentials helper + install -Dm755 contrib/credential/libsecret/git-credential-libsecret "$BPM_OUTPUT"/usr/lib/git-core/git-credential-libsecret + + # Install package license + install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/git/COPYING }