Blame abseil-cpp.spec

Bernhard M. Wiedemann 2adb0f
#
Bernhard M. Wiedemann 2adb0f
# spec file for package abseil-cpp
Bernhard M. Wiedemann 2adb0f
#
Bernhard M. Wiedemann 2adb0f
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
Bernhard M. Wiedemann 2adb0f
#
Bernhard M. Wiedemann 2adb0f
# All modifications and additions to the file contributed by third parties
Bernhard M. Wiedemann 2adb0f
# remain the property of their copyright owners, unless otherwise agreed
Bernhard M. Wiedemann 2adb0f
# upon. The license for this file, and modifications and additions to the
Bernhard M. Wiedemann 2adb0f
# file, is the same license as for the pristine package itself (unless the
Bernhard M. Wiedemann 2adb0f
# license for the pristine package is not an Open Source License, in which
Bernhard M. Wiedemann 2adb0f
# case the license is the MIT License). An "Open Source License" is a
Bernhard M. Wiedemann 2adb0f
# license that conforms to the Open Source Definition (Version 1.9)
Bernhard M. Wiedemann 2adb0f
# published by the Open Source Initiative.
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
# Please submit bugfixes or comments via https://bugs.opensuse.org/
Bernhard M. Wiedemann 2adb0f
#
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%define sover 0
Bernhard M. Wiedemann 2adb0f
%define libname libabseil%{sover}
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%define build_folder bazel-bin/_solib_%{_arch}/
Bernhard M. Wiedemann 2adb0f
%ifarch x86_64
Bernhard M. Wiedemann 2adb0f
%define build_folder bazel-bin/_solib_k8/
Bernhard M. Wiedemann 2adb0f
%endif
Bernhard M. Wiedemann 2adb0f
%ifarch ppc64 ppc64le
Bernhard M. Wiedemann 2adb0f
%define build_folder bazel-bin/_solib_ppc/
Bernhard M. Wiedemann 2adb0f
%endif
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
Name:           abseil-cpp
Bernhard M. Wiedemann 2adb0f
Version:        20181127
Bernhard M. Wiedemann 2adb0f
Release:        0
Bernhard M. Wiedemann 2adb0f
Summary:        C++11 libraries which augment the C++ stdlib
Bernhard M. Wiedemann 2adb0f
License:        Apache-2.0
Bernhard M. Wiedemann 2adb0f
Group:          Development/Libraries/C and C++
Bernhard M. Wiedemann 2adb0f
Url:            https://abseil.io/
Bernhard M. Wiedemann 2adb0f
Source0:        %{name}-%{version}.tar.xz
Bernhard M. Wiedemann 2adb0f
Source1:        https://github.com/bazelbuild/bazel-toolchains/archive/bc09b995c137df042bb80a395b73d7ce6f26afbe.tar.gz
Bernhard M. Wiedemann 2adb0f
Source2:        https://github.com/google/googletest/archive/b4d4438df9479675a632b2f11125e57133822ece.zip
Bernhard M. Wiedemann 2adb0f
Source3:        https://github.com/google/benchmark/archive/16703ff83c1ae6d53e5155df3bb3ab0bc96083be.zip
Bernhard M. Wiedemann 2adb0f
BuildRequires:  bazel0.19
Bernhard M. Wiedemann 2adb0f
BuildRequires:  gcc-c++
Bernhard M. Wiedemann 2adb0f
BuildRequires:  gtest
Bernhard M. Wiedemann 2adb0f
BuildRequires:  patchelf
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%description
Bernhard M. Wiedemann 2adb0f
Abseil is a collection of C++11 libraries which augment the C++
Bernhard M. Wiedemann 2adb0f
standard library. It also provides features incorporated into C++14
Bernhard M. Wiedemann 2adb0f
and C++17 standards.
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%package -n %{libname}
Bernhard M. Wiedemann 2adb0f
Summary:        C++11 libraries which augment the C++ stdlib
Bernhard M. Wiedemann 2adb0f
Group:          System/Libraries
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%description -n %{libname}
Bernhard M. Wiedemann 2adb0f
Shared libraries for Abseil, a collection of C++11 libraries
Bernhard M. Wiedemann 2adb0f
which augment the C++ standard library. It also provides
Bernhard M. Wiedemann 2adb0f
features incorporated into C++14 and C++17 standards.
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%package devel
Bernhard M. Wiedemann 2adb0f
Summary:        Development files for Abseil
Bernhard M. Wiedemann 2adb0f
Group:          Development/Libraries/C and C++
Bernhard M. Wiedemann 2adb0f
Requires:       %{libname} = %{version}
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%description devel
Bernhard M. Wiedemann 2adb0f
Development files for Abseil, a collection of C++11 libraries
Bernhard M. Wiedemann 2adb0f
which augment the C++ standard library. It also provides
Bernhard M. Wiedemann 2adb0f
features incorporated into C++14 and C++17 standards.
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%prep
Bernhard M. Wiedemann 2adb0f
%setup -q
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%build
Bernhard M. Wiedemann 2adb0f
bazel build \
Bernhard M. Wiedemann 2adb0f
    -c dbg \
Bernhard M. Wiedemann 2adb0f
    --color=no \
Bernhard M. Wiedemann 2adb0f
    %(for opt in %{optflags}; do echo -e "--copt=${opt} \c"; done) \
Bernhard M. Wiedemann 2adb0f
    --curses=no \
Bernhard M. Wiedemann 2adb0f
    --distdir=%{_sourcedir} \
Bernhard M. Wiedemann 2adb0f
    --genrule_strategy=standalone \
Bernhard M. Wiedemann 2adb0f
    --host_javabase=@local_jdk//:jdk \
Bernhard M. Wiedemann 2adb0f
    --spawn_strategy=standalone \
Bernhard M. Wiedemann 2adb0f
    --strip=never \
Bernhard M. Wiedemann 2adb0f
    --verbose_failures \
Bernhard M. Wiedemann 2adb0f
    //...
Bernhard M. Wiedemann 2adb0f
bazel shutdown
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%install
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sbase_Slibbase.so %{buildroot}%{_libdir}/libabsl_base_libbase.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sbase_Slibdynamic_Uannotations.so %{buildroot}%{_libdir}/libabsl_base_libdynamic_annotations.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sbase_Slibexception_Usafety_Utesting.so %{buildroot}%{_libdir}/libabsl_base_libexception_safety_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sbase_Slibmalloc_Uinternal.so %{buildroot}%{_libdir}/libabsl_base_libmalloc_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sbase_Slibspinlock_Uwait.so %{buildroot}%{_libdir}/libabsl_base_libspinlock_wait.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sbase_Slibthrow_Udelegate.so %{buildroot}%{_libdir}/libabsl_base_libthrow_delegate.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Scontainer_Slibhash_Ugenerator_Utesting.so %{buildroot}%{_libdir}/libabsl_container_libhash_generator_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Scontainer_Slibraw_Uhash_Uset.so %{buildroot}%{_libdir}/libabsl_container_libraw_hash_set.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Scontainer_Slibtest_Uinstance_Utracker.so %{buildroot}%{_libdir}/libabsl_container_libtest_instance_tracker.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sdebugging_Slibdebugging_Uinternal.so %{buildroot}%{_libdir}/libabsl_debugging_libdebugging_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sdebugging_Slibdemangle_Uinternal.so %{buildroot}%{_libdir}/libabsl_debugging_libdemangle_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sdebugging_Slibexamine_Ustack.so %{buildroot}%{_libdir}/libabsl_debugging_libexamine_stack.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sdebugging_Slibfailure_Usignal_Uhandler.so %{buildroot}%{_libdir}/libabsl_debugging_libfailure_signal_handler.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sdebugging_Slibleak_Ucheck_Uapi_Udisabled_Ufor_Utesting.so %{buildroot}%{_libdir}/libabsl_debugging_libleak_check_api_disabled_for_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sdebugging_Slibleak_Ucheck_Uapi_Uenabled_Ufor_Utesting.so %{buildroot}%{_libdir}/libabsl_debugging_libleak_check_api_enabled_for_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sdebugging_Slibstacktrace.so %{buildroot}%{_libdir}/libabsl_debugging_libstacktrace.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sdebugging_Slibstack_Uconsumption.so %{buildroot}%{_libdir}/libabsl_debugging_libstack_consumption.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sdebugging_Slibsymbolize.so %{buildroot}%{_libdir}/libabsl_debugging_libsymbolize.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Shash_Slibcity.so %{buildroot}%{_libdir}/libabsl_hash_libcity.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Shash_Slibhash.so %{buildroot}%{_libdir}/libabsl_hash_libhash.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Snumeric_Slibint128.so %{buildroot}%{_libdir}/libabsl_numeric_libint128.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sstrings_Slibinternal.so %{buildroot}%{_libdir}/libabsl_strings_libinternal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sstrings_Slibstrings.so %{buildroot}%{_libdir}/libabsl_strings_libstrings.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Sstrings_Slibstr_Uformat_Uinternal.so %{buildroot}%{_libdir}/libabsl_strings_libstr_format_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Ssynchronization_Slibgraphcycles_Uinternal.so %{buildroot}%{_libdir}/libabsl_synchronization_libgraphcycles_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Ssynchronization_Slibper_Uthread_Usem_Utest_Ucommon.so %{buildroot}%{_libdir}/libabsl_synchronization_libper_thread_sem_test_common.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Ssynchronization_Slibsynchronization.so %{buildroot}%{_libdir}/libabsl_synchronization_libsynchronization.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Stime_Sinternal_Scctz_Slibcivil_Utime.so %{buildroot}%{_libdir}/libabsl_time_internal_cctz_libcivil_time.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Stime_Sinternal_Scctz_Slibtime_Uzone.so %{buildroot}%{_libdir}/libabsl_time_internal_cctz_libtime_zone.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Stime_Slibtest_Uutil.so %{buildroot}%{_libdir}/libabsl_time_libtest_util.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Stime_Slibtime.so %{buildroot}%{_libdir}/libabsl_time_libtime.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Stypes_Slibbad_Uany_Ucast_Uimpl.so %{buildroot}%{_libdir}/libabsl_types_libbad_any_cast_impl.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Stypes_Slibbad_Uoptional_Uaccess.so %{buildroot}%{_libdir}/libabsl_types_libbad_optional_access.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Stypes_Slibbad_Uvariant_Uaccess.so %{buildroot}%{_libdir}/libabsl_types_libbad_variant_access.so.%{sover}
Bernhard M. Wiedemann 2adb0f
install -D -m0755 %{build_folder}/libabsl_Stypes_Sliboptional.so %{buildroot}%{_libdir}/libabsl_types_liboptional.so.%{sover}
Bernhard M. Wiedemann 2adb0f
# We can't patchelf libraries in the build step, because bazel saves the build
Bernhard M. Wiedemann 2adb0f
# output in protected read-only directory.
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_base_libbase.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libbase.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_base_libdynamic_annotations.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libdynamic_annotations.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_base_libexception_safety_testing.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libexception_safety_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_base_libmalloc_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libmalloc_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_base_libspinlock_wait.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libspinlock_wait.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_base_libthrow_delegate.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libthrow_delegate.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_container_libhash_generator_testing.so.%{sover} %{buildroot}%{_libdir}/libabsl_container_libhash_generator_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_container_libraw_hash_set.so.%{sover} %{buildroot}%{_libdir}/libabsl_container_libraw_hash_set.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_container_libtest_instance_tracker.so.%{sover} %{buildroot}%{_libdir}/libabsl_container_libtest_instance_tracker.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_debugging_libdebugging_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libdebugging_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_debugging_libdemangle_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libdemangle_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_debugging_libexamine_stack.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libexamine_stack.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_debugging_libfailure_signal_handler.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libfailure_signal_handler.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_debugging_libleak_check_api_disabled_for_testing.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libleak_check_api_disabled_for_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_debugging_libleak_check_api_enabled_for_testing.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libleak_check_api_enabled_for_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_debugging_libstacktrace.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libstacktrace.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_debugging_libstack_consumption.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libstack_consumption.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_debugging_libsymbolize.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libsymbolize.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_hash_libcity.so.%{sover} %{buildroot}%{_libdir}/libabsl_hash_libcity.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_hash_libhash.so.%{sover} %{buildroot}%{_libdir}/libabsl_hash_libhash.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_numeric_libint128.so.%{sover} %{buildroot}%{_libdir}/libabsl_numeric_libint128.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_strings_libinternal.so.%{sover} %{buildroot}%{_libdir}/libabsl_strings_libinternal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_strings_libstrings.so.%{sover} %{buildroot}%{_libdir}/libabsl_strings_libstrings.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_strings_libstr_format_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_strings_libstr_format_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_synchronization_libgraphcycles_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_synchronization_libgraphcycles_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_synchronization_libper_thread_sem_test_common.so.%{sover} %{buildroot}%{_libdir}/libabsl_synchronization_libper_thread_sem_test_common.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_synchronization_libsynchronization.so.%{sover} %{buildroot}%{_libdir}/libabsl_synchronization_libsynchronization.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_time_internal_cctz_libcivil_time.so.%{sover} %{buildroot}%{_libdir}/libabsl_time_internal_cctz_libcivil_time.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_time_internal_cctz_libtime_zone.so.%{sover} %{buildroot}%{_libdir}/libabsl_time_internal_cctz_libtime_zone.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_time_libtest_util.so.%{sover} %{buildroot}%{_libdir}/libabsl_time_libtest_util.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_time_libtime.so.%{sover} %{buildroot}%{_libdir}/libabsl_time_libtime.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_types_libbad_any_cast_impl.so.%{sover} %{buildroot}%{_libdir}/libabsl_types_libbad_any_cast_impl.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_types_libbad_optional_access.so.%{sover} %{buildroot}%{_libdir}/libabsl_types_libbad_optional_access.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_types_libbad_variant_access.so.%{sover} %{buildroot}%{_libdir}/libabsl_types_libbad_variant_access.so.%{sover}
Bernhard M. Wiedemann 2adb0f
patchelf --set-soname libabsl_types_liboptional.so.%{sover} %{buildroot}%{_libdir}/libabsl_types_liboptional.so.%{sover}
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_base_libbase.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libbase.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_base_libdynamic_annotations.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libdynamic_annotations.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_base_libexception_safety_testing.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libexception_safety_testing.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_base_libmalloc_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libmalloc_internal.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_base_libspinlock_wait.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libspinlock_wait.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_base_libthrow_delegate.so.%{sover} %{buildroot}%{_libdir}/libabsl_base_libthrow_delegate.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_container_libhash_generator_testing.so.%{sover} %{buildroot}%{_libdir}/libabsl_container_libhash_generator_testing.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_container_libraw_hash_set.so.%{sover} %{buildroot}%{_libdir}/libabsl_container_libraw_hash_set.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_container_libtest_instance_tracker.so.%{sover} %{buildroot}%{_libdir}/libabsl_container_libtest_instance_tracker.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_debugging_libdebugging_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libdebugging_internal.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_debugging_libdemangle_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libdemangle_internal.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_debugging_libexamine_stack.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libexamine_stack.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_debugging_libfailure_signal_handler.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libfailure_signal_handler.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_debugging_libleak_check_api_disabled_for_testing.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libleak_check_api_disabled_for_testing.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_debugging_libleak_check_api_enabled_for_testing.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libleak_check_api_enabled_for_testing.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_debugging_libstacktrace.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libstacktrace.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_debugging_libstack_consumption.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libstack_consumption.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_debugging_libsymbolize.so.%{sover} %{buildroot}%{_libdir}/libabsl_debugging_libsymbolize.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_hash_libcity.so.%{sover} %{buildroot}%{_libdir}/libabsl_hash_libcity.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_hash_libhash.so.%{sover} %{buildroot}%{_libdir}/libabsl_hash_libhash.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_numeric_libint128.so.%{sover} %{buildroot}%{_libdir}/libabsl_numeric_libint128.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_strings_libinternal.so.%{sover} %{buildroot}%{_libdir}/libabsl_strings_libinternal.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_strings_libstrings.so.%{sover} %{buildroot}%{_libdir}/libabsl_strings_libstrings.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_strings_libstr_format_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_strings_libstr_format_internal.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_synchronization_libgraphcycles_internal.so.%{sover} %{buildroot}%{_libdir}/libabsl_synchronization_libgraphcycles_internal.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_synchronization_libper_thread_sem_test_common.so.%{sover} %{buildroot}%{_libdir}/libabsl_synchronization_libper_thread_sem_test_common.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_synchronization_libsynchronization.so.%{sover} %{buildroot}%{_libdir}/libabsl_synchronization_libsynchronization.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_time_internal_cctz_libcivil_time.so.%{sover} %{buildroot}%{_libdir}/libabsl_time_internal_cctz_libcivil_time.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_time_internal_cctz_libtime_zone.so.%{sover} %{buildroot}%{_libdir}/libabsl_time_internal_cctz_libtime_zone.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_time_libtest_util.so.%{sover} %{buildroot}%{_libdir}/libabsl_time_libtest_util.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_time_libtime.so.%{sover} %{buildroot}%{_libdir}/libabsl_time_libtime.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_types_libbad_any_cast_impl.so.%{sover} %{buildroot}%{_libdir}/libabsl_types_libbad_any_cast_impl.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_types_libbad_optional_access.so.%{sover} %{buildroot}%{_libdir}/libabsl_types_libbad_optional_access.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_types_libbad_variant_access.so.%{sover} %{buildroot}%{_libdir}/libabsl_types_libbad_variant_access.so
Bernhard M. Wiedemann 2adb0f
ln -sf libabsl_types_liboptional.so.%{sover} %{buildroot}%{_libdir}/libabsl_types_liboptional.so
Bernhard M. Wiedemann 2adb0f
for header in $(find . \( -name "*.h" -o -name "*.inc" \) -printf "%%P\n"); do
Bernhard M. Wiedemann 2adb0f
    install -D -m0644 $header %{buildroot}%{_includedir}/$header
Bernhard M. Wiedemann 2adb0f
done
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%post -n %{libname} -p /sbin/ldconfig
Bernhard M. Wiedemann 2adb0f
%postun -n %{libname} -p /sbin/ldconfig
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%files -n %{libname}
Bernhard M. Wiedemann 2adb0f
%license LICENSE
Bernhard M. Wiedemann 2adb0f
%doc README.md
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libbase.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libdynamic_annotations.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libexception_safety_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libmalloc_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libspinlock_wait.so.%{sover} 
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libthrow_delegate.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_container_libhash_generator_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_container_libraw_hash_set.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_container_libtest_instance_tracker.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libdebugging_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libdemangle_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libexamine_stack.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libfailure_signal_handler.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libleak_check_api_disabled_for_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libleak_check_api_enabled_for_testing.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libstacktrace.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libstack_consumption.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libsymbolize.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_hash_libcity.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_hash_libhash.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_numeric_libint128.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_strings_libinternal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_strings_libstrings.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_strings_libstr_format_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_synchronization_libgraphcycles_internal.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_synchronization_libper_thread_sem_test_common.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_synchronization_libsynchronization.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_time_internal_cctz_libcivil_time.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_time_internal_cctz_libtime_zone.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_time_libtest_util.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_time_libtime.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_types_libbad_any_cast_impl.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_types_libbad_optional_access.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_types_libbad_variant_access.so.%{sover}
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_types_liboptional.so.%{sover}
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%files devel
Bernhard M. Wiedemann 2adb0f
%{_includedir}/absl
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libbase.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libdynamic_annotations.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libexception_safety_testing.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libmalloc_internal.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libspinlock_wait.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_base_libthrow_delegate.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_container_libhash_generator_testing.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_container_libraw_hash_set.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_container_libtest_instance_tracker.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libdebugging_internal.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libdemangle_internal.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libexamine_stack.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libfailure_signal_handler.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libleak_check_api_disabled_for_testing.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libleak_check_api_enabled_for_testing.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libstacktrace.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libstack_consumption.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_debugging_libsymbolize.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_hash_libcity.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_hash_libhash.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_numeric_libint128.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_strings_libinternal.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_strings_libstrings.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_strings_libstr_format_internal.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_synchronization_libgraphcycles_internal.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_synchronization_libper_thread_sem_test_common.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_synchronization_libsynchronization.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_time_internal_cctz_libcivil_time.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_time_internal_cctz_libtime_zone.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_time_libtest_util.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_time_libtime.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_types_libbad_any_cast_impl.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_types_libbad_optional_access.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_types_libbad_variant_access.so
Bernhard M. Wiedemann 2adb0f
%{_libdir}/libabsl_types_liboptional.so
Bernhard M. Wiedemann 2adb0f
Bernhard M. Wiedemann 2adb0f
%changelog