Index: devel/Makefile =================================================================== --- devel/Makefile (revision 555095) +++ devel/Makefile (working copy) @@ -1133,6 +1133,7 @@ SUBDIR += libdwarf SUBDIR += libe SUBDIR += libedit + SUBDIR += libegit2 SUBDIR += libeio SUBDIR += libelf SUBDIR += libepoll-shim Index: devel/libegit2/Makefile =================================================================== --- devel/libegit2/Makefile (nonexistent) +++ devel/libegit2/Makefile (working copy) @@ -0,0 +1,44 @@ +# $FreeBSD$ + +PORTNAME= libegit2 +DISTVERSION= 0.0.1.20200316 +CATEGORIES= devel elisp +PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX} + +MAINTAINER= yasu@utahime.org +COMMENT= Emacs bindings for libgit2 + +LICENSE= GPLv3+ +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libgit2.so:devel/libgit2 + +USES= cmake:noninja emacs pkgconfig +USE_LDCONFIG= yes + +USE_GITHUB= yes +GH_ACCOUNT= magit +GH_TAGNAME= 0ef8b13 + +CMAKE_ON= USE_SYSTEM_LIBGIT2 + +OPTIONS_DEFINE= DOCS + +PORTDOCS= README.md + +post-build: + (cd ${WRKSRC} \ + && ${EMACS_CMD} -Q -batch -L . -f batch-byte-compile libgit.el) + +do-install: + @${MKDIR} ${STAGEDIR}${PREFIX}/${EMACS_VERSION_SITE_LISPDIR} + ${INSTALL_PROGRAM} ${WRKSRC}/../.build/libegit2.so \ + ${STAGEDIR}${PREFIX}/lib + ${INSTALL_DATA} ${WRKSRC}/libgit.el* \ + ${STAGEDIR}${PREFIX}/${EMACS_VERSION_SITE_LISPDIR} + +do-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR} + +.include Index: devel/libegit2/distinfo =================================================================== --- devel/libegit2/distinfo (nonexistent) +++ devel/libegit2/distinfo (working copy) @@ -0,0 +1,3 @@ +TIMESTAMP = 1605386780 +SHA256 (magit-libegit2-0.0.1.20200316-0ef8b13_GH0.tar.gz) = d746fd8120948ac1d2a3c12f25a65a2720ca8bdd7a794c9b2bc120ff95ed0ce9 +SIZE (magit-libegit2-0.0.1.20200316-0ef8b13_GH0.tar.gz) = 131990 Index: devel/libegit2/files/patch-use-system-libgit2 =================================================================== --- devel/libegit2/files/patch-use-system-libgit2 (nonexistent) +++ devel/libegit2/files/patch-use-system-libgit2 (working copy) @@ -0,0 +1,85 @@ +From de3c48d72ec7064e7f0522877fe759c729df0c50 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer +Date: Wed, 25 Mar 2020 11:32:18 -0400 +Subject: [PATCH] Allow using a system provided libgit2 library + +Setting the USE_SYSTEM_LIBGIT2 Make or CMake variable (through the +BUILD_OPTIONS variable) to any value enables using the system library. +The default behavior of using a bundled copy of libgit2 is unchanged. +--- + CMakeLists.txt | 9 +++++++-- + Makefile | 11 +++++++++++ + src/CMakeLists.txt | 9 +++++++-- + 3 files changed, 25 insertions(+), 4 deletions(-) + +diff --git CMakeLists.txt CMakeLists.txt +index a393d7c..75d6ca6 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -7,9 +7,14 @@ set(BUILD_SHARED_LIBS OFF CACHE BOOL "shared" FORCE) + set(BUILD_CLAR OFF CACHE BOOL "clar" FORCE) + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DEGIT_DEBUG") + +-add_subdirectory(libgit2) ++if(USE_SYSTEM_LIBGIT2) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(git2 REQUIRED IMPORTED_TARGET libgit2) ++else() ++ add_subdirectory(libgit2) ++ find_library(git2 libgit2.a) ++endif() + +-find_library(git2 libgit2.a) + add_subdirectory(src) + + enable_testing() +diff --git Makefile Makefile +index 8199532..6a6a4e1 100644 +--- Makefile ++++ Makefile +@@ -13,6 +13,13 @@ ifeq ($(UNAME),MSYS) + BUILD_OPTIONS+= -G "MSYS Makefiles" + endif + ++# If the variable USE_SYSTEM_LIBGIT2 is set to *any* value, use the ++# system provided libgit2 library. ++USE_SYSTEM_LIBGIT2? := \ ++ $(if $(or $(USE_SYSTEM_LIBGIT2),\ ++ $(findstring USE_SYSTEM_LIBGIT2,$(BUILD_OPTIONS))),\ ++ true) ++ + ifeq "$(TRAVIS)" "true" + ## Makefile for Travis ################################################### + # +@@ -87,7 +94,11 @@ submodule-update: + @git submodule update + + libgit2: ++ifeq ($(USE_SYSTEM_LIBGIT2?),) + @git submodule update --init ++else ++ @echo "Using the system provided libgit2 library" ++endif + + CLEAN = $(ELCS) $(PKG)-autoloads.el build + +diff --git src/CMakeLists.txt src/CMakeLists.txt +index cfb5777..0dbad8a 100644 +--- src/CMakeLists.txt ++++ src/CMakeLists.txt +@@ -13,8 +13,13 @@ if(WIN32) + set_target_properties(egit2 PROPERTIES PREFIX lib) + endif(WIN32) + +-target_link_libraries(egit2 git2) +-target_include_directories(egit2 SYSTEM PRIVATE "${libgit2_SOURCE_DIR}/include") ++if(USE_SYSTEM_LIBGIT2) ++ target_link_libraries(egit2 PRIVATE PkgConfig::git2) ++else() ++ target_link_libraries(egit2 git2) ++ target_include_directories( ++ egit2 SYSTEM PRIVATE "${libgit2_SOURCE_DIR}/include") ++endif() + + if(CMAKE_COMPILER_IS_GNUCC) + target_compile_options(egit2 PRIVATE -Wall -Wextra) Index: devel/libegit2/pkg-descr =================================================================== --- devel/libegit2/pkg-descr (nonexistent) +++ devel/libegit2/pkg-descr (working copy) @@ -0,0 +1,4 @@ +This is an experimental module for libgit2 bindings to Emacs, intended +to boost the performance of Magit (https://magit.vc/). + +WWW: https://github.com/magit/libegit2 Index: devel/libegit2/pkg-plist =================================================================== --- devel/libegit2/pkg-plist (nonexistent) +++ devel/libegit2/pkg-plist (working copy) @@ -0,0 +1,3 @@ +lib/libegit2.so +%%EMACS_VERSION_SITE_LISPDIR%%/libgit.el +%%EMACS_VERSION_SITE_LISPDIR%%/libgit.elc