From ce91a2433b25ceaf1fec7a78d9fe53f4057ab7cc Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Mon, 6 Jun 2022 08:18:11 +0200 Subject: [PATCH] libgit2, bump version, drop x86_gcc2 (#6974) --- dev-libs/libgit2/libgit2-1.4.3.recipe | 108 ++++++++++++++++++ .../libgit2/patches/libgit2-1.4.3.patchset | 63 ++++++++++ 2 files changed, 171 insertions(+) create mode 100644 dev-libs/libgit2/libgit2-1.4.3.recipe create mode 100644 dev-libs/libgit2/patches/libgit2-1.4.3.patchset diff --git a/dev-libs/libgit2/libgit2-1.4.3.recipe b/dev-libs/libgit2/libgit2-1.4.3.recipe new file mode 100644 index 000000000..67594fa93 --- /dev/null +++ b/dev-libs/libgit2/libgit2-1.4.3.recipe @@ -0,0 +1,108 @@ +SUMMARY="A portable, pure C implementation of the Git core methods" +DESCRIPTION="The library provides: +* SHA conversions, formatting and shortening +* abstracted ODB backend system +* commit, tag, tree and blob parsing, editing, and write-back +* tree traversal +* revision walking +* index file (staging area) manipulation +* reference management (including packed references) +* config file management +* high level repository management +* thread safety and reentrancy +* descriptive and detailed error messages +* ...and more (over 175 different API calls)" +HOMEPAGE="https://libgit2.github.com/" +COPYRIGHT="2005-2018 libgit2 project" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="https://github.com/libgit2/libgit2/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="f48b961e463a9e4e7e7e58b21a0fb5a9b2a1d24d9ba4d15870a0c9b8ad965163" +SOURCE_FILENAME="libgit2-$portVersion.tar.gz" +PATCHES="libgit2-$portVersion.patchset" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +libVersion="$portVersion" +libVersionCompat="$libVersion compat >= ${libVersion%.*}" + +PROVIDES=" + libgit2$secondaryArchSuffix = $portVersion + lib:libgit2$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libcrypto$secondaryArchSuffix + lib:libcurl$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libpcre$secondaryArchSuffix + lib:libssh2$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +PROVIDES_devel=" + libgit2${secondaryArchSuffix}_devel = $portVersion + devel:libgit2$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + libgit2$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libcrypto$secondaryArchSuffix + devel:libcurl$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libpcre$secondaryArchSuffix + devel:libssh2$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:curl_config$secondaryArchSuffix + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:python3 + cmd:pkg_config$secondaryArchSuffix + " + +defineDebugInfoPackage libgit2$secondaryArchSuffix \ + "$libDir"/libgit2.so.$libVersion + +BUILD() +{ + mkdir -p build && cd build + + OPTIONS= + if [ $effectiveTargetArchitecture = x86_gcc2 ] ; then + OPTIONS=-DTHREADSAFE=OFF \ + -DBUILD_TESTS=OFF -L + fi + + cmake .. \ + $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_CLAR=OFF \ + -DBUILD_EXAMPLES=OFF $OPTIONS + + make $jobArgs +} + +INSTALL() +{ + cd build + make install + + prepareInstalledDevelLib libgit2 + fixPkgconfig + + packageEntries devel $developDir +} + +TEST() +{ + # See tests/README.md + true +} diff --git a/dev-libs/libgit2/patches/libgit2-1.4.3.patchset b/dev-libs/libgit2/patches/libgit2-1.4.3.patchset new file mode 100644 index 000000000..ecdce3799 --- /dev/null +++ b/dev-libs/libgit2/patches/libgit2-1.4.3.patchset @@ -0,0 +1,63 @@ +From 081229d6e982bbe309fe26e5ffe197df2d5d5d7d Mon Sep 17 00:00:00 2001 +From: Niels Sascha Reedijk +Date: Thu, 2 Jun 2022 10:27:55 +0200 +Subject: libgit2, import PR by nielx + + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e7b54d0..65e830d 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -57,6 +57,8 @@ check_function_exists(qsort_s GIT_QSORT_S) + + check_function_exists(getentropy GIT_RAND_GETENTROPY) + ++check_function_exists(getloadavg GIT_RAND_GETLOADAVG) ++ + # Find required dependencies + + if(WIN32) +@@ -65,8 +67,8 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)") + list(APPEND LIBGIT2_SYSTEM_LIBS socket nsl) + list(APPEND LIBGIT2_PC_LIBS "-lsocket" "-lnsl") + elseif(CMAKE_SYSTEM_NAME MATCHES "Haiku") +- list(APPEND LIBGIT2_SYSTEM_LIBS network) +- list(APPEND LIBGIT2_PC_LIBS "-lnetwork") ++ list(APPEND LIBGIT2_SYSTEM_LIBS gnu network) ++ list(APPEND LIBGIT2_PC_LIBS "-lgnu -lnetwork") + endif() + + check_library_exists(rt clock_gettime "time.h" NEED_LIBRT) +diff --git a/src/features.h.in b/src/features.h.in +index f920135..4f9ee13 100644 +--- a/src/features.h.in ++++ b/src/features.h.in +@@ -49,5 +49,6 @@ + #cmakedefine GIT_SHA1_MBEDTLS 1 + + #cmakedefine GIT_RAND_GETENTROPY 1 ++#cmakedefine GIT_RAND_GETLOADAVG 1 + + #endif +diff --git a/src/rand.c b/src/rand.c +index 0a20813..23d72c6 100644 +--- a/src/rand.c ++++ b/src/rand.c +@@ -106,7 +106,13 @@ GIT_INLINE(int) getseed(uint64_t *seed) + return -1; + } + ++# if defined(GIT_RAND_GETLOADAVG) + getloadavg(loadavg, 3); ++# else ++ loadavg[0] = drand48(); ++ loadavg[1] = drand48(); ++ loadavg[2] = drand48(); ++# endif + + *seed = 0; + *seed |= ((uint64_t)tv.tv_usec << 40); +-- +2.36.1 + +