Skip to content

Commit

Permalink
git add secondary architecture
Browse files Browse the repository at this point in the history
git can't be build with gcc2 due to parse errors anymore
  • Loading branch information
Begasus committed May 14, 2022
1 parent 9678760 commit e6181e3
Show file tree
Hide file tree
Showing 2 changed files with 547 additions and 0 deletions.
297 changes: 297 additions & 0 deletions dev-vcs/git/git-2.36.1.recipe
Original file line number Diff line number Diff line change
@@ -0,0 +1,297 @@
SUMMARY="Fast, scalable, distributed revision control system"
DESCRIPTION="Git is a free and open source distributed version control system \
designed to handle everything from small to very large projects with speed \
and efficiency.
Git is easy to learn and has a tiny footprint with lightning fast performance. \
It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with \
features like cheap local branching, convenient staging areas, and multiple \
workflows."
HOMEPAGE="https://git-scm.com/"
COPYRIGHT="2005-2020 Git Authors (see git web site for list)"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://www.kernel.org/pub/software/scm/git/git-$portVersion.tar.xz"
CHECKSUM_SHA256="405d4a0ff6e818d1f12b3e92e1ac060f612adcb454f6299f70583058cb508370"
SOURCE_URI_2="https://www.kernel.org/pub/software/scm/git/git-manpages-$portVersion.tar.xz"
CHECKSUM_SHA256_2="b1e6e651333283bfe2abbdf10baa858f61c5ec9d3caacb30f44888d78d964e6f"
SOURCE_URI_3="https://www.kernel.org/pub/software/scm/git/git-htmldocs-$portVersion.tar.xz"
CHECKSUM_SHA256_3="f2a44ee1acfc1b8e2ce9a90ae767226c862d5a6596bed0404de70fdef8e67c8d"
PATCHES="git-$portVersion.patchset"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

GLOBAL_WRITABLE_FILES="
settings/gitconfig keep-old
"
USER_SETTINGS_FILES="
settings/git directory
"

PROVIDES="
git$secondaryArchSuffix = $portVersion compat >= 2.3
cmd:git = $portVersion compat >= 2.3
cmd:git_receive_pack = $portVersion compat >= 2.3
cmd:git_shell = $portVersion compat >= 2.3
cmd:git_upload_archive = $portVersion compat >= 2.3
cmd:git_upload_pack = $portVersion compat >= 2.3
"
PROVIDES_arch="
git${secondaryArchSuffix}_arch = $portVersion compat >= 2.3
cmd:git_archimport = $portVersion compat >= 2.3
"
PROVIDES_cvs="
git${secondaryArchSuffix}_cvs = $portVersion compat >= 2.3
cmd:git_cvsimport = $portVersion compat >= 2.3
cmd:git_cvsserver = $portVersion compat >= 2.3
"
PROVIDES_daemon="
git${secondaryArchSuffix}_daemon = $portVersion compat >= 2.3
cmd:git_daemon = $portVersion compat >= 2.3
"
PROVIDES_email="
git${secondaryArchSuffix}_email = $portVersion compat >= 2.3
cmd:git_send_email = $portVersion compat >= 2.3
"
PROVIDES_gui="
git${secondaryArchSuffix}_gui = $portVersion compat >= 2.3
cmd:git_gui = $portVersion compat >= 2.3
cmd:gitk = $portVersion compat >= 2.3
"
PROVIDES_source="
git${secondaryArchSuffix}_source = $portVersion compat >= 2.3
"
PROVIDES_svn="
git${secondaryArchSuffix}_svn = $portVersion compat >= 2.3
cmd:git_svn = $portVersion compat >= 2.3
"

REQUIRES="
haiku$secondaryArchSuffix
cmd:man
cmd:nano
cmd:perl >= 5
lib:libcurl$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libpcre2_8$secondaryArchSuffix
lib:libnghttp2$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
vendor_perl
"
REQUIRES_arch="
haiku$secondaryArchSuffix
git$secondaryArchSuffix == $portVersion base
"
REQUIRES_cvs="
haiku$secondaryArchSuffix
git$secondaryArchSuffix == $portVersion base
cmd:cvsps
"
REQUIRES_daemon="
haiku$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libpcre2_8$secondaryArchSuffix
lib:libz$secondaryArchSuffix
git$secondaryArchSuffix == $portVersion base
"
REQUIRES_email="
haiku$secondaryArchSuffix
git$secondaryArchSuffix == $portVersion base
"
REQUIRES_gui="
haiku$secondaryArchSuffix
git$secondaryArchSuffix == $portVersion base
cmd:wish
"
REQUIRES_svn="
haiku$secondaryArchSuffix
alien_svn
git$secondaryArchSuffix == $portVersion base
"

BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:cmp
cmd:man
cmd:nano
cmd:perl
devel:libcurl$secondaryArchSuffix
devel:libexpat$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libnghttp2$secondaryArchSuffix
devel:libpcre2_8$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"

BUILD_PREREQUIRES="
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:gettext
cmd:ld$secondaryArchSuffix
cmd:make
cmd:msgfmt
cmd:sed
cmd:tar
"

TEST_REQUIRES="
cmd:diff
cmd:gawk
"

makeGit()
{
make prefix=$prefix \
bindir_relative=$relativeBinDir \
mandir=$manDir \
infodir=$infoDir \
gitexecdir=$libDir/git-core \
sharedir=$dataDir \
template_dir=$dataDir/git-core/templates \
htmldir=$docDir \
sysconfdir=$sysconfDir \
PTHREAD_LIBS= \
USE_LIBPCRE2=YesPlease \
NO_D_TYPE_IN_DIRENT=YesPlease \
NO_MEMMEM=YesPlease \
NO_MKSTEMPS=YesPlease \
NEEDS_LIBICONV=YesPlease \
NO_R_TO_GCC_LINKER=YesPlease \
GNU_ROFF=YesPlease \
PERL_PATH=/bin/perl \
NO_PYTHON=YesPlease \
OBJECT_CREATION_USES_RENAMES=YesPlease \
NO_CROSS_DIRECTORY_HARDLINKS=YesPlease \
NO_INSTALL_HARDLINKS=YesPlease \
HAVE_DEV_TTY=YesPlease \
DEFAULT_EDITOR=nano \
DEFAULT_HELP_FORMAT=web \
BASIC_LDFLAGS="-lnetwork -lbsd" \
CPPFLAGS="-D_POSIX_THREAD_SAFE_FUNCTIONS" \
"$@"
}

BUILD()
{
makeGit $jobArgs
makeGit strip
}

INSTALL()
{
makeGit install

# copy manpages
mkdir -p $manDir
cp -rd $sourceDir2/* $manDir/

# copy html documentation
htmlDir=$docDir
mkdir -p $htmlDir
cp -rd $sourceDir3/*.html $htmlDir/

# Default system-wide gitconfig. Settings in this file are only used
# if they are unset both for the repository and globally (global options
# are saved in the user settings file).
# core.untrackedCache caches enumeration of untracked files and uses an
# efficient method of determining whether the cache is out of date. This
# is filesystem-dependent, but supported on BeFS.
mkdir -p $sysconfDir
printf "[core]\n untrackedCache = true" > $sysconfDir/gitconfig

# replace copies of git binaries with symlinks
cd $prefix/bin
for program in git*; do
if [ $program = "gitk" ]; then
continue
fi
ln -sfn "$libDir/git-core/$program" "$program"
done

packageEntries arch \
$docDir/git-archimport.html \
$manDir/man1/git-archimport.1 \
$libDir/git-core/git-archimport

packageEntries cvs \
$prefix/bin/git-cvsserver \
$docDir/git-cvsexportcommit.html \
$docDir/git-cvsimport.html \
$docDir/git-cvsserver.html \
$manDir/man1/git-cvsexportcommit.1 \
$manDir/man1/git-cvsimport.1 \
$manDir/man1/git-cvsserver.1 \
$manDir/man7/gitcvs-migration.7 \
$libDir/git-core/git-cvsexportcommit \
$libDir/git-core/git-cvsimport \
$libDir/git-core/git-cvsserver

packageEntries daemon \
$docDir/git-credential-cache--daemon.html \
$docDir/git-credential-cache.html \
$docDir/git-daemon.html \
$manDir/man1/git-credential-cache--daemon.1 \
$manDir/man1/git-credential-cache.1 \
$manDir/man1/git-daemon.1 \
$libDir/git-core/git-credential-cache--daemon \
$libDir/git-core/git-credential-cache \
$libDir/git-core/git-daemon

packageEntries email \
$docDir/git-send-email.html \
$manDir/man1/git-send-email.1 \
$libDir/git-core/git-send-email

packageEntries gui \
$docDir/git-gui.html \
$docDir/gitk.html \
$manDir/man1/git-gui.1 \
$manDir/man1/gitk.1 \
$dataDir/gitk \
$dataDir/git-gui \
$libDir/git-core/git-gui \
$libDir/git-core/git-gui--askpass \
$libDir/git-core/git-citool \
$prefix/bin/gitk

packageEntries svn \
$docDir/git-svn.html \
$manDir/man1/git-svn.1 \
$libDir/git-core/git-svn
}

TEST()
{
# x86_64
#failed test(s): t0005 t0006 t0210 t0211 t0301 t0302 t1060 t1100 t1300 t1306 t1308 t1309 t2400 t3903 t5000 t5300 t5506 t5521 t5562 t5604 t5605 t5702 t5814 t7060 t7300 t7415 t7701 t7800 t9300
#fixed 1
#success 21670
#failed 78
#broken 236
#total 22417

# x86_gcc2
#failed test(s): t0005 t0006 t0210 t0211 t0301 t0302 t1060 t1100 t1300 t1306 t1308 t1309 t2400 t3903 t4014 t5150 t5300 t5400 t5516 t5528 t5531 t5562 t5604 t5605 t5702 t5814 t6430 t7060 t7300 t7409 t7415 t7701 t7800 t9300
#fixed 1
#success 21651
#failed 90
#broken 236
#total 22417

cat << DONE
!!Make sure to configure the debug_server in \
~/config/settings/system/debug_server/settings:
executable_actions {
/sources/git-* kill
}
DONE
makeGit test
}

0 comments on commit e6181e3

Please sign in to comment.