Files
RedBear-OS/recipes/dev/git/recipe.toml
T
vasilito 45696b918b git: re-port git.patch onto 2.55.0
The patch was written against git 2.13.1 (2017) while the recipe fetches
2.55.0 — eight years of drift, seven of eight files rejecting. Rebased by
applying what still fit, hand-porting every reject against the current
source, and regenerating the whole patch from a pristine-vs-ported diff so
it is a coherent 2.55.0 patch rather than a 2.13 patch with fixups.

Per file, preserving the original Redox intent:
  compat/bswap.h      <machine/endian.h> for ntohl/htonl
  compat/terminal.c   __redox__ git_terminal_prompt branch; the file was
                      restructured, so it now precedes the generic #else
  configure           NO_IPV6=YesPlease
  daemon.c            logreport is a switch over LOG_DESTINATION_* in
                      2.55.0; guard the syslog arm and openlog instead of
                      the old if/else
  git-compat-util.h   SIG_DFL/SIG_IGN/SIG_ERR fallbacks
  Makefile            EXTLIBS=-lnghttp2; drop the three hardlink fallbacks
  run-command.c       dup_devnull is gone in 2.55.0; the four /dev/null
                      opens it replaced now use DEV_NULL directly
  setup.c             sanitize_stdfds uses xopen/xdup, which die
                      internally, so the old die_errno hunk is obsolete

Applies at --fuzz=0 with zero rejects across all eight files.

Also ac_cv_iconv_omits_bom=no: the 'iconv omits bom for utf-16 and
utf-32' probe is a RUN test and cannot execute while cross compiling.
Same mechanism as the neighbouring ac_cv_fread_reads_directories and
ac_cv_snprintf_returns_bogus entries.

One trap worth recording: a blanket '*.orig' cleanup before regenerating
the diff silently deleted t/t4256/1/mailinfo.c.orig, a real git test
fixture, which would have shipped as a deletion in the patch. Restored.
2026-08-03 20:16:12 +03:00

50 lines
1.1 KiB
TOML

[source]
tar = "https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.55.0.tar.xz"
blake3 = "99cf418d6426cd615c2818986002f3d4619c707bceea9c624414cc2362c1ff5e"
patches = ["git.patch"]
[build]
dependencies=[
"curl",
"expat",
"gettext",
"nghttp2",
"openssl3",
"zlib"
]
template = "custom"
script = """
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
DYNAMIC_INIT
MAKEFLAGS=(
NEEDS_SSL_WITH_CURL=1
NEEDS_CRYPTO_WITH_SSL=1
NO_IPV6=1
NO_PREAD=1
NO_MMAP=1
NO_SETITIMER=1
NO_UNIX_SOCKETS=1
NEEDS_LIBICONV=
NEEDS_LIBRT=
BLK_SHA1=1
V=1
)
export CURL_CONFIG="${COOKBOOK_SYSROOT}/usr/bin/curl-config"
./configure \
--host="${GNU_TARGET}" \
--prefix=/usr \
ac_cv_fread_reads_directories=yes \
ac_cv_iconv_omits_bom=no \
ac_cv_snprintf_returns_bogus=yes \
ac_cv_lib_curl_curl_global_init=yes
"${COOKBOOK_MAKE}" "${MAKEFLAGS[@]}" -j"${COOKBOOK_MAKE_JOBS}"
"${COOKBOOK_MAKE}" DESTDIR="${COOKBOOK_STAGE}" "${MAKEFLAGS[@]}" install
rm -rf "${COOKBOOK_STAGE}/usr/share/man"
"""
[package]
dependencies = [
"ca-certificates",
"nghttp2"
]