diff --git a/protobuf.spec b/protobuf.spec index f45563077031726b09feb7d842e06b83c973e57f..b614396f70163bec8185e13b0dcafe071e2d5e76 100644 --- a/protobuf.spec +++ b/protobuf.spec @@ -1,4 +1,8 @@ #needsrootforbuild +%undefine __cmake_in_source_build + +%define _lto_cflags %{nil} + # Build -python subpackage %bcond_without python # Build -java subpackage @@ -11,8 +15,8 @@ Summary: Protocol Buffers - Google's data interchange format Name: protobuf Version: 25.1 -Release: 7 -License: BSD +Release: 8 +License: BSD-3-Clause URL: https://github.com/protocolbuffers/protobuf Source: https://github.com/protocolbuffers/protobuf/releases/download/v%{version}%{?rcver}/%{name}-all-%{version}%{?rcver}.tar.gz Source1: protobuf-init.el @@ -180,7 +184,7 @@ Protocol Buffer BOM POM. %setup -q -n %{name}-%{version}%{?rcver} %autopatch -p1 find -name \*.cc -o -name \*.h | xargs chmod -x -chmod 644 examples/* +find examples -type f | xargs chmod 644 %if %{with java} #%pom_remove_dep com.google.truth:truth java/pom.xml #%pom_remove_dep org.easymock:easymockclassextension java/pom.xml java/*/pom.xml @@ -227,30 +231,27 @@ mv java/core/src/test/java/com/google/protobuf/DecodeUtf8Test.java \ rm -f src/solaris/libstdc++.la -mkdir build -pushd build +%build %cmake \ + -B build \ -Dprotobuf_BUILD_EXAMPLES:BOOL=OFF \ -Dprotobuf_BUILD_LIBPROTOC:BOOL=ON \ -Dprotobuf_BUILD_SHARED_LIBS:BOOL=ON \ -Dprotobuf_USE_EXTERNAL_GTEST:BOOL=ON \ -Dprotobuf_ABSL_PROVIDER=package \ -Dprotobuf_BUILD_TESTS:BOOL=OFF \ - -DCMAKE_EXE_LINKER_FLAGS=-Wl,--as-needed \ - -DCMAKE_MODULE_LINKER_FLAGS=-Wl,--as-needed \ - -DCMAKE_SHARED_LINKER_FLAGS=-Wl,--as-needed \ - -DCMAKE_CXX_FLAGS="-g -O2" \ + -DCMAKE_EXE_LINKER_FLAGS="%{build_ldflags}" \ + -DCMAKE_SHARED_LINKER_FLAGS="%{build_ldflags}" \ + -DCMAKE_CXX_FLAGS="%{build_cxxflags} %{?_ld_as_needed_flags}" \ -DCMAKE_C_COMPILER=%{__cc} \ -DCMAKE_CXX_COMPILER=%{__cxx} \ -DCMAKE_SKIP_RPATH=TRUE \ - -G Ninja \ - ../ -popd + -G Ninja + +%ninja_build -C build -mkdir build-static -pushd build-static -export CMAKE_BUILD_DIR=build-static %cmake \ + -B build-static \ -Dprotobuf_BUILD_EXAMPLES:BOOL=OFF \ -Dprotobuf_BUILD_LIBPROTOC:BOOL=ON \ -Dprotobuf_BUILD_SHARED_LIBS:BOOL=OFF \ @@ -261,12 +262,8 @@ export CMAKE_BUILD_DIR=build-static -DCMAKE_C_COMPILER=%{__cc} \ -DCMAKE_CXX_COMPILER=%{__cxx} \ -DCMAKE_SKIP_RPATH=TRUE \ - -G Ninja \ - ../ -popd + -G Ninja -%build -%ninja_build -C build %ninja_build -C build-static # we have to override LD_LIBRARY_PATH because we eliminated rpath @@ -292,7 +289,6 @@ cp build/protoc ./ %{_emacs_bytecompile} editors/protobuf-mode.el - %check # Java tests fail on s390x %ifarch s390x @@ -328,10 +324,6 @@ install -p -m 0644 editors/protobuf-mode.elc %{buildroot}%{_emacs_sitelispdir}/% mkdir -p %{buildroot}%{_emacs_sitestartdir} install -p -m 0644 %{SOURCE1} %{buildroot}%{_emacs_sitestartdir} -%ldconfig_scriptlets -%ldconfig_scriptlets lite -%ldconfig_scriptlets compiler - %files %doc CONTRIBUTORS.txt README.md %license LICENSE @@ -405,6 +397,9 @@ install -p -m 0644 %{SOURCE1} %{buildroot}%{_emacs_sitestartdir} %endif %changelog +* Thu Nov 14 2024 Funda Wang - 25.1-8 +- adopt to new cmake macro + * Wed Sep 25 2024 zhangxianting - 25.1-7 - Type:bugfix - ID:NA