## ## protobuf.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2018 OpenPKG Project ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package version %define V_protobuf 3.5.2 %define V_googletest 1.8.0 # package information Name: protobuf Summary: Protocol Buffers URL: https://developers.google.com/protocol-buffers/ Vendor: Google Inc. et al. Packager: OpenPKG Project Distribution: OpenPKG Community Class: EVAL Group: RPC License: BSD Version: %{V_protobuf} Release: 20180306 # list of sources Source0: https://github.com/google/protobuf/archive/v%{version}.tar.gz Source1: https://github.com/google/googletest/archive/release-%{V_googletest}.tar.gz # build information BuildPreReq: OpenPKG, openpkg >= 20160101, gcc, gcc::with_cxx = yes, autoconf, automake, libtool PreReq: OpenPKG, openpkg >= 20160101 BuildPreReq: zlib PreReq: zlib %description Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats. This is the C++ variant. %track prog protobuf:protobuf = { version = %{V_protobuf} url = https://github.com/google/protobuf/releases regex = v(\d+\.\d+\.\d+)\.tar\.gz } prog protobuf:googletest = { version = %{V_googletest} url = https://github.com/google/googletest/releases regex = release-(__VER__)\.zip } %prep %setup -q %setup -q -T -D -a 1 mkdir gmock mv googletest-release-%{V_googletest}/googlemock gmock mv googletest-release-%{V_googletest}/googletest gmock/gtest %build sh autogen.sh CC="%{l_cc}" \ CXX="%{l_cxx}" \ CFLAGS="%{l_cflags -O}" \ CXXFLAGS="%{l_cxxflags -O}" \ CPPFLAGS="%{l_cppflags}" \ LDFLAGS="%{l_ldflags}" \ ./configure \ --prefix=%{l_prefix} \ --disable-shared \ --with-zlib %{l_make} %{l_mflags -O} %install %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean