From 7046fec2ed326bd7d5c91810665201ae5721f6c1 Mon Sep 17 00:00:00 2001 From: miqlas <5569059+extrowerk@users.noreply.github.com> Date: Sun, 20 May 2018 05:29:26 +0200 Subject: [PATCH] Libgit2 0.27.0 (#2547) --- dev-libs/libgit2/libgit2-0.27.0.recipe | 104 ++++++++++++++++++ .../libgit2/patches/libgit2-0.27.0.patchset | 72 ++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 dev-libs/libgit2/libgit2-0.27.0.recipe create mode 100644 dev-libs/libgit2/patches/libgit2-0.27.0.patchset diff --git a/dev-libs/libgit2/libgit2-0.27.0.recipe b/dev-libs/libgit2/libgit2-0.27.0.recipe new file mode 100644 index 000000000..4a5dc1f08 --- /dev/null +++ b/dev-libs/libgit2/libgit2-0.27.0.recipe @@ -0,0 +1,104 @@ +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="545b0458292c786aba334f1bf1c8f73600ae73dd7205a7bb791a187ee48ab8d2" +SOURCE_FILENAME="libgit2-$portVersion.tar.gz" +PATCHES="libgit2-$portVersion.patchset" + +ARCHITECTURES="x86_gcc2 ?x86 x86_64" +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: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:libssh2$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:curl_config$secondaryArchSuffix + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + 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 + fi + + cmake .. \ + -DCMAKE_INSTALL_PREFIX:PATH=$prefix \ + -DBIN_INSTALL_DIR:PATH=$binDir \ + -DINCLUDE_INSTALL_DIR:PATH=$includeDir \ + -DLIB_INSTALL_DIR:PATH=$libDir \ + -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-0.27.0.patchset b/dev-libs/libgit2/patches/libgit2-0.27.0.patchset new file mode 100644 index 000000000..4cb043d55 --- /dev/null +++ b/dev-libs/libgit2/patches/libgit2-0.27.0.patchset @@ -0,0 +1,72 @@ +From 4036019821be1f94bed724e2ebdb2a3b6ff41670 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Thu, 10 May 2018 10:21:34 +0200 +Subject: Reorder some includes to avoid conflicts between zlib and openssl + +zlib #defines free_func, but ssl headers use free_func in a parameter +name in some places. This ends up confusing gcc2. Make sure the ssl +headers are included before the define is set, so we can build libgit +with gcc2. + + +diff --git a/src/fetch.c b/src/fetch.c +index 0b22b36..67fdfbf 100644 +--- a/src/fetch.c ++++ b/src/fetch.c +@@ -5,6 +5,7 @@ + * a Linking Exception. For full terms see the included COPYING file. + */ + ++#include "netops.h" + #include "fetch.h" + + #include "git2/oid.h" +@@ -15,7 +16,6 @@ + #include "remote.h" + #include "refspec.h" + #include "pack.h" +-#include "netops.h" + #include "repository.h" + #include "refs.h" + +diff --git a/src/pack-objects.h b/src/pack-objects.h +index c9cd577..419e8a5 100644 +--- a/src/pack-objects.h ++++ b/src/pack-objects.h +@@ -8,12 +8,13 @@ + #ifndef INCLUDE_pack_objects_h__ + #define INCLUDE_pack_objects_h__ + ++#include "netops.h" ++ + #include "common.h" + + #include "buffer.h" + #include "hash.h" + #include "oidmap.h" +-#include "netops.h" + #include "zstream.h" + #include "pool.h" + #include "indexer.h" +diff --git a/src/push.c b/src/push.c +index 85b683e..9eab56e 100644 +--- a/src/push.c ++++ b/src/push.c +@@ -5,12 +5,13 @@ + * a Linking Exception. For full terms see the included COPYING file. + */ + ++#include "pack-objects.h" ++ + #include "push.h" + + #include "git2.h" + + #include "pack.h" +-#include "pack-objects.h" + #include "remote.h" + #include "vector.h" + #include "tree.h" +-- +2.16.2 +