app-crypt/libnitrokey: Fix tests when git is not installed
authorDavid Seifert <soap@gentoo.org>
Sat, 10 Aug 2019 20:17:42 +0000 (22:17 +0200)
committerDavid Seifert <soap@gentoo.org>
Sat, 10 Aug 2019 20:17:42 +0000 (22:17 +0200)
Closes: https://bugs.gentoo.org/689614
Package-Manager: Portage-2.3.71, Repoman-2.3.17
Signed-off-by: David Seifert <soap@gentoo.org>
app-crypt/libnitrokey/files/libnitrokey-3.5-tests-version-gitless.patch [new file with mode: 0644]
app-crypt/libnitrokey/libnitrokey-3.5.ebuild

diff --git a/app-crypt/libnitrokey/files/libnitrokey-3.5-tests-version-gitless.patch b/app-crypt/libnitrokey/files/libnitrokey-3.5-tests-version-gitless.patch
new file mode 100644 (file)
index 0000000..99fc5af
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -129,7 +129,14 @@
+       ERROR_QUIET
+ )
+ ENDIF()
+-IF((NOT ${ADD_GIT_INFO}) OR (${PROJECT_VERSION_GIT_RETURN_CODE}))
++# the version.h generation logic is tricky in a number of ways:
++# 1. git describe on a release tarball will always fail with
++#    a non-zero return code, usually 128
++# 2. If git is not installed, PROJECT_VERSION_GIT_RETURN_CODE
++#    will contain the string 'No such file or directory'
++# Hence fallback to PROJECT_VERSION when the return code is NOT 0.
++IF((NOT ${ADD_GIT_INFO}) OR (NOT ${PROJECT_VERSION_GIT_RETURN_CODE} STREQUAL "0"))
++      MESSAGE(STATUS "Setting fallback Git library version")
+       SET(PROJECT_VERSION_GIT "v${PROJECT_VERSION}")
+ ENDIF()
+ MESSAGE(STATUS "Setting Git library version to: " ${PROJECT_VERSION_GIT} )
index 35712a337225ba559d33a0336392ae8a3ae2bd3f..7d6ebab8f99bf03f1edf6768207489f4d5ec3868 100644 (file)
@@ -32,6 +32,8 @@ DEPEND="
        test? ( >=dev-cpp/catch-2.5.0:0 )"
 BDEPEND="virtual/pkgconfig"
 
+PATCHES=( "${FILESDIR}"/${PN}-3.5-tests-version-gitless.patch )
+
 src_configure() {
        local mycmakeargs=(
                -DCMAKE_INSTALL_UDEVRULESDIR="$(get_udevdir)"/rules.d