Date: Wednesday, September 28, 2016 @ 16:10:56 Author: anthraxx Revision: 190718
updpkg: gtest 1.8.0-1 (+split package gmock) - gmock was unified upstream into gtest Added: gtest/trunk/gmock-install.patch gtest/trunk/gmock.pc.in gtest/trunk/gtest-pkgconfig.patch Modified: gtest/trunk/PKGBUILD gtest/trunk/gtest.pc.in Deleted: gtest/trunk/pkgconfig.patch -----------------------+ PKGBUILD | 122 ++++++++++++++++++++++++++++++++---------------- gmock-install.patch | 79 +++++++++++++++++++++++++++++++ gmock.pc.in | 10 +++ gtest-pkgconfig.patch | 27 ++++++++++ gtest.pc.in | 1 pkgconfig.patch | 27 ---------- 6 files changed, 199 insertions(+), 67 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-09-28 16:07:19 UTC (rev 190717) +++ PKGBUILD 2016-09-28 16:10:56 UTC (rev 190718) @@ -1,61 +1,103 @@ -# $Id$ # Maintainer: Felix Yan <[email protected]> +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> # Contributor: Alexandre Bique <[email protected]> # Contributor: Louis R. Marascio <[email protected]> # Contributor: Cody Maloney <[email protected]> -pkgname=gtest -pkgver=1.7.0 -pkgrel=5 -pkgdesc="Google Test - C++ testing utility based on the xUnit framework (like JUnit)" +pkgbase=gtest +pkgname=('gtest' 'gmock') +pkgver=1.8.0 +pkgrel=1 +pkgdesc='Google Test - C++ testing utility' +url='https://github.com/google/googletest/' arch=('i686' 'x86_64') -url="http://code.google.com/p/googletest/" -license=('custom:BSD3') -depends=('gcc-libs' 'sh') -makedepends=('python2' 'cmake') -source=(http://googletest.googlecode.com/files/$pkgname-$pkgver.zip - pkgconfig.patch - gtest.pc.in) -sha512sums=('8859369f2dd32cbc2ac01aba029aa3ff20a321f40658b9643aff442d34c33468221866b801b28c66a28af47dbcd362d26941fc98db92b6efb7e41ea5b7be1a07' +license=('BSD') +makedepends=('python2' 'cmake' 'gcc-libs' 'sh') +options=(!makeflags) +source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/google/googletest/archive/release-${pkgver}.tar.gz + gtest-pkgconfig.patch + gtest.pc.in + gmock-install.patch + gmock.pc.in) +sha512sums=('1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d' '7e9ad4cd470eaab7ed5fb1cce1d5721d40fc03a62b0c895b8f9657679ffa43f91b99800bb1e02a6c5c2d0a72e94bb8ea008aa6e74fdb1460b1326a84da5e9f91' - '4760a6e039eaeb6c3b917cfac173e4738a5d4675b89b84ad91b0260b7f4386ce3561529c0b7d1f8c3792beb3c8535470372b196585ec4468739a17fa314637e0') + 'df3d23bc53c3b4ab5bacb4b6fad8823870b2ba6b86017e1e99067fb547533a649f2c8e8a8634e3583b344230e1afc280a047d41330cbc7510cfd0c5e843594c3' + '2c2417c178485a590695f7d37b26fad3a1a1993fdc9a0c869c34fec83d51769b8057b4f67000e0585f61919c092175186252704a032e9b06bfc1f0e7c0b900f9' + '3e4c2e96139292818d97b52536776b656bea30f119124dab4d5c2cb2f31098a3bfac928b74297f7c77229d3eb5fa3b734931c64d8bef2f867b585e43b390a59c') prepare() { - cd "$srcdir/$pkgname-$pkgver" - cp "${srcdir}/gtest.pc.in" . - sed -r "s|(Version:) .+|\1 ${pkgver}|" -i gtest.pc.in - patch -p1 < "${srcdir}/pkgconfig.patch" - mkdir build + cd googletest-release-${pkgver} + find -name '*.py' -exec sed -i 's|env python|env python2|g' {} \; + + msg2 "Preparing googletest..." + (cd googletest + autoreconf -fvi + cp "${srcdir}/gtest.pc.in" . + sed -r "s|(Version:) .+|\1 ${pkgver}|" -i gtest.pc.in + patch -p1 < "${srcdir}/gtest-pkgconfig.patch" + mkdir build + ) + + msg2 "Preparing googlemock..." + patch -p1 < "${srcdir}/gmock-install.patch" + (cd googlemock + cp "${srcdir}/gmock.pc.in" . + autoreconf -fvi + ) } build() { - cd "$srcdir/$pkgname-$pkgver" + cd googletest-release-${pkgver} - # this is odd but needed only to generate gtest-config. - ./configure --prefix=/usr + msg2 "Building googletest..." + (cd googletest + # this is odd but needed only to generate gtest-config. + ./configure --prefix=/usr + cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_SKIP_RPATH=ON .. + make + ) - cd build - cmake -DCMAKE_INSTALL_PREFIX=/usr \ - -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_SKIP_RPATH=ON .. - make + msg2 "Building googlemock..." + (cd googlemock + ./configure --prefix=/usr --with-gtest --enable-external-gtest + make + ) } -package() { - cd "$srcdir/$pkgname-$pkgver" +package_gtest() { + pkgdesc='Google Test - C++ testing utility based on the xUnit framework (like JUnit)' + depends=('gcc-libs' 'sh') + + cd googletest-release-${pkgver}/googletest make -C build DESTDIR="${pkgdir}" install - install -Dm 755 scripts/gtest-config -t "$pkgdir"/usr/bin - install -Dm 644 m4/gtest.m4 -t "$pkgdir"/usr/share/aclocal - install -Dm 644 build/libgtest{,_main}.so -t "$pkgdir"/usr/lib - install -Dm 644 include/gtest/*.h -t "$pkgdir"/usr/include/gtest - install -Dm 644 include/gtest/internal/*.h -t "$pkgdir"/usr/include/gtest/internal - install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname - install -Dm 644 fused-src/gtest/* -t "$pkgdir"/usr/src/gtest/src - install -Dm 644 cmake/* -t "$pkgdir"/usr/src/gtest/cmake + install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm 644 README.md CHANGES CONTRIBUTORS -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 755 scripts/gtest-config -t "${pkgdir}/usr/bin" + install -Dm 644 build/libgtest{,_main}.so -t "${pkgdir}/usr/lib" + install -Dm 644 m4/gtest.m4 -t "${pkgdir}/usr/share/aclocal" + install -Dm 644 cmake/* -t "${pkgdir}/usr/src/gtest/cmake" + install -Dm 644 src/* -t "${pkgdir}/usr/src/gtest/src" + install -d "${pkgdir}/usr/include" + cp -r include/gtest -t "${pkgdir}/usr/include" # undo pkg-config patch so subprojects including this don't try to generate it - patch -Rp1 < "${srcdir}/pkgconfig.patch" - install -Dm 644 CMakeLists.txt -t "$pkgdir"/usr/src/gtest + patch -Rp1 < "${srcdir}/gtest-pkgconfig.patch" + install -Dm 644 CMakeLists.txt -t "${pkgdir}/usr/src/gtest" } -# vim:set ts=2 sw=2 et: +package_gmock() { + pkgdesc='Google Mock - A library for writing and using C++ mock classes' + depends=('python2' 'gtest' 'gcc-libs' 'sh') + + cd googletest-release-${pkgver}/googlemock + make --trace -w -j1 DESTDIR="${pkgdir}" install + install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm 644 README.md CHANGES CONTRIBUTORS -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 755 scripts/gmock-config -t "${pkgdir}/usr/bin" + install -Dm 644 include/gmock/internal/custom/* -t "${pkgdir}/usr/include/gmock/internal/custom" +} + +# vim: ts=2 sw=2 et: Added: gmock-install.patch =================================================================== --- gmock-install.patch (rev 0) +++ gmock-install.patch 2016-09-28 16:10:56 UTC (rev 190718) @@ -0,0 +1,79 @@ +diff -urN gmock-1.7.0.orig/gtest/Makefile.am gmock-1.7.0/gtest/Makefile.am +--- a/googletest/Makefile.am 2013-09-23 22:34:27.649060735 -0700 ++++ b/googletest/Makefile.am 2013-09-23 22:39:16.097069357 -0700 +@@ -299,8 +299,2 @@ + +-install-exec-local: +- echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Test into your build system." +- false + +-install-data-local: +- echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Test into your build system." +- false +--- a/googlemock/Makefile.am ++++ b/googlemock/Makefile.am +@@ -7,6 +7,8 @@ EXTRA_DIST = LICENSE + # included in the 'subdirs' variable. +-SUBDIRS = $(subdirs) + ++ ++bin_SCRIPTS = scripts/gmock-config ++ + # This is generated by the configure script, so clean it for distribution. + DISTCLEANFILES = scripts/gmock-config + +@@ -16,5 +19,8 @@ if HAVE_PTHREADS + lib_libgmock_la_SOURCES = src/gmock-all.cc + ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = gmock.pc ++ + pkginclude_HEADERS = \ + include/gmock/gmock-actions.h \ + include/gmock/gmock-cardinalities.h \ +@@ -207,10 +213,11 @@ CLEANFILES = core + # Mock can lead to undefined behavior due to violation of the + # One-Definition Rule. + +-install-exec-local: +- echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system." +- false +- +-install-data-local: +- echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system." +- false ++install-exec-hook: ++ install -d "$(DESTDIR)$(datadir)/@PACKAGE@" && echo 1 ++ cp -rf scripts/generator "$(DESTDIR)$(datadir)/@PACKAGE@" && echo 2 ++ python2 -m compileall "$(DESTDIR)$(datadir)/@PACKAGE@" && echo 3 ++ python2 -O -m compileall "$(DESTDIR)$(datadir)/@PACKAGE@" && echo 4 ++ install -Dm 644 src/*.cc -t "$(DESTDIR)$(prefix)/src/@PACKAGE@" && echo 5 ++ install -Dm 644 $(pkgconfig_DATA) -t "$(DESTDIR)$(pkgconfigdir)" && echo 6 ++ sed -i s/src[/]//g "$(DESTDIR)$(prefix)/src/@PACKAGE@/gmock-all.cc" && echo 7 +--- a/googlemock/Makefile.am 2016-09-28 17:47:02.926781189 +0200 ++++ b/googlemock/Makefile.am 2016-09-28 17:47:38.066834777 +0200 +@@ -42,10 +42,7 @@ + pkginclude_internal_HEADERS = \ + include/gmock/internal/gmock-generated-internal-utils.h \ + include/gmock/internal/gmock-internal-utils.h \ +- include/gmock/internal/gmock-port.h \ +- include/gmock/internal/custom/gmock-generated-actions.h \ +- include/gmock/internal/custom/gmock-matchers.h \ +- include/gmock/internal/custom/gmock-port.h ++ include/gmock/internal/gmock-port.h + + lib_libgmock_main_la_SOURCES = src/gmock_main.cc + lib_libgmock_main_la_LIBADD = lib/libgmock.la +diff --git a/configure.ac b/configure.ac +index d268d5d..9d23176 100644 +--- a/googlemock/configure.ac ++++ b/googlemock/configure.ac +@@ -10,7 +10,7 @@ AC_PREREQ([2.59]) + AC_CONFIG_SRCDIR([./LICENSE]) + AC_CONFIG_AUX_DIR([build-aux]) + AC_CONFIG_HEADERS([build-aux/config.h]) +-AC_CONFIG_FILES([Makefile]) ++AC_CONFIG_FILES([Makefile gmock.pc]) + AC_CONFIG_FILES([scripts/gmock-config], [chmod +x scripts/gmock-config]) + + # Initialize Automake with various options. We require at least v1.9, prevent Added: gmock.pc.in =================================================================== --- gmock.pc.in (rev 0) +++ gmock.pc.in 2016-09-28 16:10:56 UTC (rev 190718) @@ -0,0 +1,10 @@ +Name: gmock +Description: Google C++ mocking framework +URL: https://github.com/google/googletest +Version: @VERSION@ + +prefix=@prefix@ +includedir=@includedir@ +srcdir=@prefix@/src/gmock + +Cflags: -I${includedir}/gmock Added: gtest-pkgconfig.patch =================================================================== --- gtest-pkgconfig.patch (rev 0) +++ gtest-pkgconfig.patch 2016-09-28 16:10:56 UTC (rev 190718) @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 281c4c2..e4354a8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,6 +29,9 @@ + pre_project_set_up_hermetic_build() + endif() + ++# pkg-config support ++configure_file("gtest.pc.in" "gtest.pc" @ONLY) ++ + ######################################################################## + # + # Project-wide settings +@@ -71,6 +71,10 @@ + cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc) + target_link_libraries(gtest_main gtest) + ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gtest.pc" ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/" ++) ++ + ######################################################################## + # + # Samples on how to link user tests with gtest or gtest_main. +-- +1.9.1 Modified: gtest.pc.in =================================================================== --- gtest.pc.in 2016-09-28 16:07:19 UTC (rev 190717) +++ gtest.pc.in 2016-09-28 16:10:56 UTC (rev 190718) @@ -1,5 +1,6 @@ Name: libgtest Description: Google's framework for writing C++ tests on a variety of platforms +URL: https://github.com/google/googletest Version: 0.0.0 prefix=@CMAKE_INSTALL_PREFIX@ Deleted: pkgconfig.patch =================================================================== --- pkgconfig.patch 2016-09-28 16:07:19 UTC (rev 190717) +++ pkgconfig.patch 2016-09-28 16:10:56 UTC (rev 190718) @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 281c4c2..e4354a8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -29,6 +29,9 @@ - pre_project_set_up_hermetic_build() - endif() - -+# pkg-config support -+configure_file("gtest.pc.in" "gtest.pc" @ONLY) -+ - ######################################################################## - # - # Project-wide settings -@@ -71,6 +71,10 @@ - cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc) - target_link_libraries(gtest_main gtest) - -+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gtest.pc" -+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/" -+) -+ - ######################################################################## - # - # Samples on how to link user tests with gtest or gtest_main. --- -1.9.1
