Skip to content

Commit

Permalink
libgit2: Upgrade to v0.27.2, carry further patches for mbedTLS inte…
Browse files Browse the repository at this point in the history
…gration
  • Loading branch information
staticfloat committed Jun 12, 2018
1 parent dece35f commit 9461520
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4abe229ab2a6f6cf3d3ae4ae317a03ce
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
35e8586583442b71d3b8310aa2d349d7093415347c20054a7f453676735008c6d7f163d41486df038e99694f9a11c8ea17b5a6266a936c206b9418f895b3faf5
8 changes: 7 additions & 1 deletion deps/libgit2.mk
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ LIBGIT2_OPTS += -DBUILD_CLAR=OFF -DDLLTOOL=`which $(CROSS_COMPILE)dlltool`
LIBGIT2_OPTS += -DCMAKE_FIND_ROOT_PATH=/usr/$(XC_HOST) -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
endif
else
LIBGIT2_OPTS += -DCURL_INCLUDE_DIRS=$(build_includedir) -DCURL_LIBRARIES="-L$(build_shlibdir) -lcurl"
LIBGIT2_OPTS += -DCURL_INCLUDE_DIRS=$(build_includedir) -DCURL_LIBRARIES="curl"
endif

ifneq (,$(findstring $(OS),Linux FreeBSD))
Expand All @@ -47,6 +47,11 @@ $(LIBGIT2_SRC_PATH)/libgit2-mbedtls.patch-applied: $(SRCCACHE)/$(LIBGIT2_SRC_DIR
patch -p1 -f < $(SRCDIR)/patches/libgit2-mbedtls.patch
echo 1 > $@

$(LIBGIT2_SRC_PATH)/libgit2-mbedtls2.patch-applied: $(SRCCACHE)/$(LIBGIT2_SRC_DIR)/source-extracted | $(LIBGIT2_SRC_PATH)/libgit2-mbedtls.patch-applied
cd $(LIBGIT2_SRC_PATH) && \
patch -p1 -f < $(SRCDIR)/patches/libgit2-mbedtls2.patch
echo 1 > $@

$(LIBGIT2_SRC_PATH)/libgit2-agent-nonfatal.patch-applied: $(LIBGIT2_SRC_PATH)/source-extracted | $(LIBGIT2_SRC_PATH)/libgit2-mbedtls.patch-applied
cd $(LIBGIT2_SRC_PATH) && \
patch -p1 -f < $(SRCDIR)/patches/libgit2-agent-nonfatal.patch
Expand All @@ -60,6 +65,7 @@ $(build_datarootdir)/julia/cert.pem:

$(BUILDDIR)/$(LIBGIT2_SRC_DIR)/build-configured: \
$(LIBGIT2_SRC_PATH)/libgit2-mbedtls.patch-applied \
$(LIBGIT2_SRC_PATH)/libgit2-mbedtls2.patch-applied \
$(LIBGIT2_SRC_PATH)/libgit2-agent-nonfatal.patch-applied \

$(BUILDDIR)/$(LIBGIT2_SRC_DIR)/build-configured: $(LIBGIT2_SRC_PATH)/source-extracted $(build_datarootdir)/julia/cert.pem
Expand Down
4 changes: 2 additions & 2 deletions deps/libgit2.version
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
LIBGIT2_BRANCH=v0.27.1
LIBGIT2_SHA1=b0d9952c318a3d1b8917e06ad46b9110c0c28831
LIBGIT2_BRANCH=v0.27.2
LIBGIT2_SHA1=8d36dc62ba1b5d7deb66b6f982e005ddbc2ce343
43 changes: 43 additions & 0 deletions deps/patches/libgit2-mbedtls2.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
Fixes mbedTLS support to link properly and not include libssl.so

Tracked in upstream PR https://github.com/libgit2/libgit2/pull/4678

diff --git a/.travis.yml b/.travis.yml
index 686041bfa..61edba135 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -58,12 +58,12 @@ matrix:
- compiler: gcc
env:
MBEDTLS=1
- OPTIONS="-DTHREADSAFE=ON -DCMAKE_BUILD_TYPE=Release -DUSE_HTTPS=mbedTLS -DMBEDTLS_ROOT_DIR=../deps/mbedtls"
+ OPTIONS="-DTHREADSAFE=ON -DCMAKE_BUILD_TYPE=Release -DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DMBEDTLS_ROOT_DIR=../deps/mbedtls"
os: linux
- compiler: gcc
env:
MBEDTLS=1
- OPTIONS="-DTHREADSAFE=OFF -DBUILD_EXAMPLES=ON -DUSE_HTTPS=mbedTLS -DMBEDTLS_ROOT_DIR=../deps/mbedtls"
+ OPTIONS="-DTHREADSAFE=OFF -DBUILD_EXAMPLES=ON -DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DMBEDTLS_ROOT_DIR=../deps/mbedtls"
os: linux
allow_failures:
- env: COVERITY=1
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2b82bb325..2deed5f87 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -284,8 +284,13 @@ ELSEIF(SHA1_BACKEND STREQUAL "CommonCrypto")
ELSEIF (SHA1_BACKEND STREQUAL "mbedTLS")
ADD_FEATURE_INFO(SHA ON "using mbedTLS")
SET(GIT_SHA1_MBEDTLS 1)
- FILE(GLOB SRC_SHA1 src/hash/hash_mbedtls.c)
- LIST(APPEND LIBGIT2_PC_REQUIRES "mbedtls")
+ FILE(GLOB SRC_SHA1 hash/hash_mbedtls.c)
+ LIST(APPEND LIBGIT2_INCLUDES ${MBEDTLS_INCLUDE_DIR})
+ LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
+ # mbedTLS has no pkgconfig file, hence we can't require it
+ # https://github.com/ARMmbed/mbedtls/issues/228
+ # For now, pass its link flags as our own
+ LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
ELSE()
MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend ${SHA1_BACKEND}")
ENDIF()

0 comments on commit 9461520

Please sign in to comment.