gtest: Update to 1.10.0. Build with python3
This commit is contained in:
70
mingw-w64-gtest/01-python3-fixes.patch
Normal file
70
mingw-w64-gtest/01-python3-fixes.patch
Normal file
@@ -0,0 +1,70 @@
|
||||
--- googletest-release-1.10.0/googlemock/scripts/fuse_gmock_files.py.orig 2019-12-30 08:16:05.958516700 +0300
|
||||
+++ googletest-release-1.10.0/googlemock/scripts/fuse_gmock_files.py 2019-12-30 08:18:46.482798600 +0300
|
||||
@@ -63,7 +63,10 @@
|
||||
|
||||
import os
|
||||
import re
|
||||
-import sets
|
||||
+try:
|
||||
+ from sets import Set as set # For Python 2.3 compatibility
|
||||
+except ImportError:
|
||||
+ pass
|
||||
import sys
|
||||
|
||||
# We assume that this file is in the scripts/ directory in the Google
|
||||
@@ -119,8 +122,8 @@
|
||||
def FuseGMockH(gmock_root, output_dir):
|
||||
"""Scans folder gmock_root to generate gmock/gmock.h in output_dir."""
|
||||
|
||||
- output_file = file(os.path.join(output_dir, GMOCK_H_OUTPUT), 'w')
|
||||
- processed_files = sets.Set() # Holds all gmock headers we've processed.
|
||||
+ output_file = open(os.path.join(output_dir, GMOCK_H_OUTPUT), 'w')
|
||||
+ processed_files = set() # Holds all gmock headers we've processed.
|
||||
|
||||
def ProcessFile(gmock_header_path):
|
||||
"""Processes the given gmock header file."""
|
||||
@@ -132,7 +135,7 @@
|
||||
processed_files.add(gmock_header_path)
|
||||
|
||||
# Reads each line in the given gmock header.
|
||||
- for line in file(os.path.join(gmock_root, gmock_header_path), 'r'):
|
||||
+ for line in open(os.path.join(gmock_root, gmock_header_path), 'r'):
|
||||
m = INCLUDE_GMOCK_FILE_REGEX.match(line)
|
||||
if m:
|
||||
# It's '#include "gmock/..."' - let's process it recursively.
|
||||
@@ -159,7 +162,7 @@
|
||||
def FuseGMockAllCcToFile(gmock_root, output_file):
|
||||
"""Scans folder gmock_root to fuse gmock-all.cc into output_file."""
|
||||
|
||||
- processed_files = sets.Set()
|
||||
+ processed_files = set()
|
||||
|
||||
def ProcessFile(gmock_source_file):
|
||||
"""Processes the given gmock source file."""
|
||||
@@ -171,7 +174,7 @@
|
||||
processed_files.add(gmock_source_file)
|
||||
|
||||
# Reads each line in the given gmock source file.
|
||||
- for line in file(os.path.join(gmock_root, gmock_source_file), 'r'):
|
||||
+ for line in open(os.path.join(gmock_root, gmock_source_file), 'r'):
|
||||
m = INCLUDE_GMOCK_FILE_REGEX.match(line)
|
||||
if m:
|
||||
# It's '#include "gmock/foo.h"'. We treat it as '#include
|
||||
@@ -204,7 +207,7 @@
|
||||
def FuseGMockGTestAllCc(gmock_root, output_dir):
|
||||
"""Scans folder gmock_root to generate gmock-gtest-all.cc in output_dir."""
|
||||
|
||||
- output_file = file(os.path.join(output_dir, GMOCK_GTEST_ALL_CC_OUTPUT), 'w')
|
||||
+ output_file = open(os.path.join(output_dir, GMOCK_GTEST_ALL_CC_OUTPUT), 'w')
|
||||
# First, fuse gtest-all.cc into gmock-gtest-all.cc.
|
||||
gtest.FuseGTestAllCcToFile(GetGTestRootDir(gmock_root), output_file)
|
||||
# Next, append fused gmock-all.cc to gmock-gtest-all.cc.
|
||||
@@ -232,7 +235,7 @@
|
||||
# fuse_gmock_files.py GMOCK_ROOT_DIR OUTPUT_DIR
|
||||
FuseGMock(sys.argv[1], sys.argv[2])
|
||||
else:
|
||||
- print __doc__
|
||||
+ print (__doc__)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
69
mingw-w64-gtest/02-revert-changes-to-pkgconfig-files.patch
Normal file
69
mingw-w64-gtest/02-revert-changes-to-pkgconfig-files.patch
Normal file
@@ -0,0 +1,69 @@
|
||||
From 5126ff48d9ac54828d1947d1423a5ef2a8efee3b Mon Sep 17 00:00:00 2001
|
||||
From: David Seifert <soap@gentoo.org>
|
||||
Date: Sat, 5 Oct 2019 15:58:45 +0200
|
||||
Subject: [PATCH] Revert "Use pcfiledir for prefix in pkgconfig file"
|
||||
|
||||
The change makes implicit assumptions on the layout of the install
|
||||
tree, which is going to break in many ways.
|
||||
|
||||
The correct solution is to use the `PKG_CONFIG_SYSROOT_DIR` variable
|
||||
to inject the cross-compiled sysroot into `-I` and `-L` paths.
|
||||
---
|
||||
googlemock/cmake/gmock.pc.in | 5 ++---
|
||||
googlemock/cmake/gmock_main.pc.in | 5 ++---
|
||||
googletest/cmake/gtest.pc.in | 5 ++---
|
||||
googletest/cmake/gtest_main.pc.in | 5 ++---
|
||||
4 files changed, 8 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/googlemock/cmake/gmock.pc.in b/googlemock/cmake/gmock.pc.in
|
||||
index 08e045474..2ef0fbca1 100644
|
||||
--- a/googlemock/cmake/gmock.pc.in
|
||||
+++ b/googlemock/cmake/gmock.pc.in
|
||||
@@ -1,6 +1,5 @@
|
||||
-prefix=${pcfiledir}/../..
|
||||
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
|
||||
Name: gmock
|
||||
Description: GoogleMock (without main() function)
|
||||
diff --git a/googlemock/cmake/gmock_main.pc.in b/googlemock/cmake/gmock_main.pc.in
|
||||
index b22fe6148..04658fe2e 100644
|
||||
--- a/googlemock/cmake/gmock_main.pc.in
|
||||
+++ b/googlemock/cmake/gmock_main.pc.in
|
||||
@@ -1,6 +1,5 @@
|
||||
-prefix=${pcfiledir}/../..
|
||||
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
|
||||
Name: gmock_main
|
||||
Description: GoogleMock (with main() function)
|
||||
diff --git a/googletest/cmake/gtest.pc.in b/googletest/cmake/gtest.pc.in
|
||||
index 9aae29e26..e7967ad56 100644
|
||||
--- a/googletest/cmake/gtest.pc.in
|
||||
+++ b/googletest/cmake/gtest.pc.in
|
||||
@@ -1,6 +1,5 @@
|
||||
-prefix=${pcfiledir}/../..
|
||||
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
|
||||
Name: gtest
|
||||
Description: GoogleTest (without main() function)
|
||||
diff --git a/googletest/cmake/gtest_main.pc.in b/googletest/cmake/gtest_main.pc.in
|
||||
index 915f2973a..fe25d9c73 100644
|
||||
--- a/googletest/cmake/gtest_main.pc.in
|
||||
+++ b/googletest/cmake/gtest_main.pc.in
|
||||
@@ -1,6 +1,5 @@
|
||||
-prefix=${pcfiledir}/../..
|
||||
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
|
||||
Name: gtest_main
|
||||
Description: GoogleTest (with main() function)
|
||||
64
mingw-w64-gtest/03-fix-pkgconfig-files.patch
Normal file
64
mingw-w64-gtest/03-fix-pkgconfig-files.patch
Normal file
@@ -0,0 +1,64 @@
|
||||
From 5126ff48d9ac54828d1947d1423a5ef2a8efee3b Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Pavlov <alexpux@gmail.com>
|
||||
Date: Sat, 5 Oct 2019 15:58:45 +0200
|
||||
Subject: [PATCH] Fix install prefix in pkgconfig files
|
||||
|
||||
---
|
||||
googlemock/cmake/gmock.pc.in | 5 +++--
|
||||
googlemock/cmake/gmock_main.pc.in | 5 +++--
|
||||
googletest/cmake/gtest.pc.in | 5 +++--
|
||||
googletest/cmake/gtest_main.pc.in | 5 +++--
|
||||
4 files changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/googlemock/cmake/gmock.pc.in b/googlemock/cmake/gmock.pc.in
|
||||
index 08e045474..2ef0fbca1 100644
|
||||
--- a/googlemock/cmake/gmock.pc.in
|
||||
+++ b/googlemock/cmake/gmock.pc.in
|
||||
@@ -1,5 +1,6 @@
|
||||
-libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
+prefix=@CMAKE_INSTALL_PREFIX@
|
||||
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
|
||||
Name: gmock
|
||||
Description: GoogleMock (without main() function)
|
||||
diff --git a/googlemock/cmake/gmock_main.pc.in b/googlemock/cmake/gmock_main.pc.in
|
||||
index b22fe6148..04658fe2e 100644
|
||||
--- a/googlemock/cmake/gmock_main.pc.in
|
||||
+++ b/googlemock/cmake/gmock_main.pc.in
|
||||
@@ -1,5 +1,6 @@
|
||||
-libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
+prefix=@CMAKE_INSTALL_PREFIX@
|
||||
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
|
||||
Name: gmock_main
|
||||
Description: GoogleMock (with main() function)
|
||||
diff --git a/googletest/cmake/gtest.pc.in b/googletest/cmake/gtest.pc.in
|
||||
index 9aae29e26..e7967ad56 100644
|
||||
--- a/googletest/cmake/gtest.pc.in
|
||||
+++ b/googletest/cmake/gtest.pc.in
|
||||
@@ -1,5 +1,6 @@
|
||||
-libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
+prefix=@CMAKE_INSTALL_PREFIX@
|
||||
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
|
||||
Name: gtest
|
||||
Description: GoogleTest (without main() function)
|
||||
diff --git a/googletest/cmake/gtest_main.pc.in b/googletest/cmake/gtest_main.pc.in
|
||||
index 915f2973a..fe25d9c73 100644
|
||||
--- a/googletest/cmake/gtest_main.pc.in
|
||||
+++ b/googletest/cmake/gtest_main.pc.in
|
||||
@@ -1,5 +1,6 @@
|
||||
-libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
+prefix=@CMAKE_INSTALL_PREFIX@
|
||||
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
|
||||
Name: gtest_main
|
||||
Description: GoogleTest (with main() function)
|
||||
@@ -1,62 +1,70 @@
|
||||
# Maintainer: Yusuke Sasaki <y_sasaki@nuem.nagoya-u.ac.jp>
|
||||
|
||||
_realname=gtest
|
||||
_realname=googletest
|
||||
pkgbase="mingw-w64-${_realname}"
|
||||
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
|
||||
pkgver=1.8.1
|
||||
pkgrel=2
|
||||
pkgdesc="Google Test (mingw-w64)"
|
||||
pkgname=("${MINGW_PACKAGE_PREFIX}-gtest")
|
||||
pkgver=1.10.0
|
||||
pkgrel=1
|
||||
pkgdesc="Googletest (mingw-w64)"
|
||||
arch=('any')
|
||||
url="https://github.com/google/googletest"
|
||||
license=('custom:BSD3')
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-python2"
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-python"
|
||||
"${MINGW_PACKAGE_PREFIX}-gcc-libs")
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
|
||||
"${MINGW_PACKAGE_PREFIX}-cmake")
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
|
||||
source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/google/googletest/archive/release-${pkgver}.tar.gz")
|
||||
sha256sums=('9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c')
|
||||
source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/google/googletest/archive/release-${pkgver}.tar.gz"
|
||||
01-python3-fixes.patch
|
||||
02-revert-changes-to-pkgconfig-files.patch
|
||||
03-fix-pkgconfig-files.patch)
|
||||
sha256sums=('9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb'
|
||||
'4da51c251de5f57067d2492860b17b5a11f6ed60049a0be49421657e1228e642'
|
||||
'a1efd397bddaa9e584d1133a3b1fc7cef444c8e41451b5985816f8a0960c7f53'
|
||||
'7112f4bebfa4bd6658c5c886242d0dff820d00ff9204edb667ff64618107f84a')
|
||||
|
||||
prepare() {
|
||||
cd googletest-release-${pkgver}
|
||||
patch -p1 -i ${srcdir}/01-python3-fixes.patch
|
||||
patch -p1 -i ${srcdir}/02-revert-changes-to-pkgconfig-files.patch
|
||||
patch -p1 -i ${srcdir}/03-fix-pkgconfig-files.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/googletest-release-${pkgver}"
|
||||
if check_option "debug" "n"; then
|
||||
extra_config+=("-DCMAKE_BUILD_TYPE=Release")
|
||||
else
|
||||
extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
|
||||
fi
|
||||
|
||||
rm -rf build-${CARCH}
|
||||
rm -rf fused-gtest-src
|
||||
rm -rf fused-gmock-src
|
||||
mkdir build-${CARCH} && cd build-${CARCH}
|
||||
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
|
||||
mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}
|
||||
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX" \
|
||||
${MINGW_PREFIX}/bin/cmake.exe \
|
||||
-G"MSYS Makefiles" \
|
||||
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
|
||||
${extra_config} \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DCMAKE_SKIP_RPATH=ON \
|
||||
../googletest-release-${pkgver}
|
||||
|
||||
cmake -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON ..
|
||||
make
|
||||
|
||||
../googletest/scripts/fuse_gtest_files.py ../googletest ../fused-gtest-src
|
||||
../googlemock/scripts/fuse_gmock_files.py ../googlemock ../fused-gmock-src
|
||||
${MINGW_PREFIX}/bin/python ../googletest-release-${pkgver}/googlemock/scripts/fuse_gmock_files.py ../googletest-release-${pkgver}/googlemock fused-gmock-src
|
||||
${MINGW_PREFIX}/bin/python ../googletest-release-${pkgver}/googletest/scripts/fuse_gtest_files.py ../googletest-release-${pkgver}/googletest fused-gtest-src
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${srcdir}/googletest-release-${pkgver}"
|
||||
cd "${srcdir}/build-${MINGW_CHOST}"
|
||||
make install DESTDIR="${pkgdir}"
|
||||
|
||||
mkdir -pm 0755 "$pkgdir"/${MINGW_PREFIX}/{bin,lib/pkgconfig,include/gtest/internal/custom,include/gmock/internal/custom,share/licenses/${_realname},src/gtest/src,src/gmock/src,src/gtest/cmake}
|
||||
install -m 0644 build-${CARCH}/googlemock/gtest/libgtest{,_main}.dll "$pkgdir"/${MINGW_PREFIX}/bin
|
||||
install -m 0644 build-${CARCH}/googlemock/gtest/libgtest{,_main}.dll.a "$pkgdir"/${MINGW_PREFIX}/lib
|
||||
install -m 0644 build-${CARCH}/googlemock/libgmock{,_main}.dll "$pkgdir"/${MINGW_PREFIX}/bin
|
||||
install -m 0644 build-${CARCH}/googlemock/libgmock{,_main}.dll.a "$pkgdir"/${MINGW_PREFIX}/lib
|
||||
install -m 0644 googletest/include/gtest/*.h "$pkgdir"/${MINGW_PREFIX}/include/gtest
|
||||
install -m 0644 googletest/include/gtest/internal/*.h "$pkgdir"/${MINGW_PREFIX}/include/gtest/internal/
|
||||
install -m 0644 googletest/include/gtest/internal/custom/*.h "$pkgdir"/${MINGW_PREFIX}/include/gtest/internal/custom/
|
||||
install -m 0644 googlemock/include/gmock/*.h "$pkgdir"/${MINGW_PREFIX}/include/gmock
|
||||
install -m 0644 googlemock/include/gmock/internal/*.h "$pkgdir"/${MINGW_PREFIX}/include/gmock/internal/
|
||||
install -m 0644 googlemock/include/gmock/internal/custom/*.h "$pkgdir"/${MINGW_PREFIX}/include/gmock/internal/custom/
|
||||
install -m 0644 googletest/LICENSE "$pkgdir"/${MINGW_PREFIX}/share/licenses/${_realname}/
|
||||
install -m 0644 fused-gtest-src/gtest/* "$pkgdir"/${MINGW_PREFIX}/src/gtest/src/
|
||||
install -m 0644 fused-gmock-src/gmock/* "$pkgdir"/${MINGW_PREFIX}/src/gmock/src/
|
||||
install -m 0644 fused-gmock-src/*.cc "$pkgdir"/${MINGW_PREFIX}/src/gmock/src/
|
||||
install -m 0644 CMakeLists.txt "$pkgdir"/${MINGW_PREFIX}/src/gtest/
|
||||
install -m 0644 googletest/cmake/* "$pkgdir"/${MINGW_PREFIX}/src/gtest/cmake/
|
||||
mkdir -p "${pkgdir}"/${MINGW_PREFIX}/src/{gmock,gtest}/{cmake,src}
|
||||
install -m 0644 fused-gtest-src/gtest/* "${pkgdir}"${MINGW_PREFIX}/src/gtest/src/
|
||||
install -m 0644 fused-gmock-src/gmock/* "${pkgdir}"${MINGW_PREFIX}/src/gmock/src/
|
||||
install -m 0644 fused-gmock-src/*.cc "${pkgdir}"${MINGW_PREFIX}/src/gmock/src/
|
||||
install -m 0644 ${srcdir}/googletest-release-${pkgver}/googletest/cmake/* "${pkgdir}"${MINGW_PREFIX}/src/gtest/cmake/
|
||||
|
||||
# install pkg-config files
|
||||
install -m 0644 build-${CARCH}/googlemock/gtest/generated/*pc ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/
|
||||
for _ff in ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/*.pc; do
|
||||
sed -e "/libdir=/c libdir=${MINGW_PREFIX}/lib" \
|
||||
-e "/includedir=/c includedir=${MINGW_PREFIX}/include" \
|
||||
-i ${_ff}
|
||||
done
|
||||
install -Dm 644 ${srcdir}/googletest-release-${pkgver}/googlemock/scripts/generator/{*.py,LICENSE,README*} -t "${pkgdir}${MINGW_PREFIX}/share/gmock/generator"
|
||||
install -Dm 644 ${srcdir}/googletest-release-${pkgver}/googlemock/scripts/generator/cpp/* -t "${pkgdir}${MINGW_PREFIX}/share/gmock/generator/cpp"
|
||||
|
||||
install -Dm 0644 ${srcdir}/googletest-release-${pkgver}/googletest/LICENSE "${pkgdir}"${MINGW_PREFIX}/share/licenses/gtest/LICENSE
|
||||
install -Dm 0644 ${srcdir}/googletest-release-${pkgver}/googlemock/LICENSE "${pkgdir}"${MINGW_PREFIX}/share/licenses/gmock/LICENSE
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user