File jaeger-client-cpp.spec of Package jaeger-client-cpp

#
# spec file for package jaeger-client-cpp
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           jaeger-client-cpp
Version:        0.3.0
Release:        0
Summary:        C++ OpenTracing binding for Jaeger
License:        Apache-2.0
Group:          Development/Libraries/C and C++
Url:            https://www.jaegertracing.io/
Source:         https://github.com/jaegertracing/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch0:         thrift-0.11.0.patch
Patch1:         cmake-lib-install-dir.patch
Patch2:         fix-sign-compare-warning.patch
BuildRequires:  cmake
BuildRequires:  gcc-c++
BuildRequires:  libboost_regex-devel
BuildRequires:  libthrift-devel
BuildRequires:  nlohmann_json-devel
BuildRequires:  opentracing-cpp-devel-static

%description
C++ OpenTracing binding for Jaeger tracing system

%package -n libjaegertracing0
Summary:        C++ OpenTracing binding for Jaeger
Group:          Development/Libraries/C and C++
Provides:       jaeger-client-cpp-libs = %{version}

%description -n libjaegertracing0
C++ OpenTracing binding for Jaeger tracing system

%package devel
Summary:        Development files for OpenTracing binding for Jaeger
Group:          Development/Libraries/C and C++
Requires:       jaeger-client-cpp-libs = %{version}

%description devel
Development files for C++ OpenTracing binding for Jaeger tracing system

%package devel-static
Summary:        Static libraries for OpenTracing binding for Jaeger
Group:          Development/Libraries/C and C++
Requires:       %{name}-devel = %{version}

%description devel-static
Static libraries for C++ OpenTracing binding for Jaeger tracing system

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1

%build
%cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-pthread -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF -DBUILD_TESTING=OFF -DHUNTER_ENABLED=OFF -DJAEGERTRACING_WITH_YAML_CPP=OFF -DLIB_INSTALL_DIR=%{_libdir}

%install
%cmake_install

%post -n libjaegertracing0
/sbin/ldconfig

%postun -n libjaegertracing0
/sbin/ldconfig

%files -n libjaegertracing0
%{_libdir}/libjaegertracing.so.0
%{_libdir}/libjaegertracing.so.0.3.0
%dir %{_libdir}/cmake/jaegertracing
%{_libdir}/cmake/jaegertracing/jaegertracingConfig.cmake
%{_libdir}/cmake/jaegertracing/jaegertracingConfigVersion.cmake
%{_libdir}/cmake/jaegertracing/jaegertracingTargets-release.cmake
%{_libdir}/cmake/jaegertracing/jaegertracingTargets.cmake

%files devel
%doc CHANGELOG.md README.md

%dir %{_includedir}/jaegertracing
%{_includedir}/jaegertracing/Config.h
%{_includedir}/jaegertracing/Constants.h
%{_includedir}/jaegertracing/LogRecord.h
%{_includedir}/jaegertracing/Logging.h
%{_includedir}/jaegertracing/Reference.h
%{_includedir}/jaegertracing/Span.h
%{_includedir}/jaegertracing/SpanContext.h
%{_includedir}/jaegertracing/Tag.h
%{_includedir}/jaegertracing/TraceID.h
%{_includedir}/jaegertracing/Tracer.h
%{_includedir}/jaegertracing/TracerFactory.h
%{_includedir}/jaegertracing/Transport.h
%{_includedir}/jaegertracing/UDPTransport.h

%dir %{_includedir}/jaegertracing/baggage
%{_includedir}/jaegertracing/baggage/BaggageSetter.h
%{_includedir}/jaegertracing/baggage/RemoteRestrictionJSON.h
%{_includedir}/jaegertracing/baggage/RemoteRestrictionManager.h
%{_includedir}/jaegertracing/baggage/Restriction.h
%{_includedir}/jaegertracing/baggage/RestrictionManager.h
%{_includedir}/jaegertracing/baggage/RestrictionsConfig.h

%dir %{_includedir}/jaegertracing/metrics
%{_includedir}/jaegertracing/metrics/Counter.h
%{_includedir}/jaegertracing/metrics/Gauge.h
%{_includedir}/jaegertracing/metrics/InMemoryStatsReporter.h
%{_includedir}/jaegertracing/metrics/Metric.h
%{_includedir}/jaegertracing/metrics/Metrics.h
%{_includedir}/jaegertracing/metrics/NullCounter.h
%{_includedir}/jaegertracing/metrics/NullGauge.h
%{_includedir}/jaegertracing/metrics/NullStatsFactory.h
%{_includedir}/jaegertracing/metrics/NullStatsReporter.h
%{_includedir}/jaegertracing/metrics/NullTimer.h
%{_includedir}/jaegertracing/metrics/StatsFactory.h
%{_includedir}/jaegertracing/metrics/StatsFactoryImpl.h
%{_includedir}/jaegertracing/metrics/StatsReporter.h
%{_includedir}/jaegertracing/metrics/Timer.h

%dir %{_includedir}/jaegertracing/net
%{_includedir}/jaegertracing/net/IPAddress.h
%{_includedir}/jaegertracing/net/Socket.h
%{_includedir}/jaegertracing/net/URI.h

%dir %{_includedir}/jaegertracing/net/http
%{_includedir}/jaegertracing/net/http/Error.h
%{_includedir}/jaegertracing/net/http/Header.h
%{_includedir}/jaegertracing/net/http/Method.h
%{_includedir}/jaegertracing/net/http/Request.h
%{_includedir}/jaegertracing/net/http/Response.h

%dir %{_includedir}/jaegertracing/platform
%{_includedir}/jaegertracing/platform/Endian.h
%{_includedir}/jaegertracing/platform/Hostname.h

%dir %{_includedir}/jaegertracing/propagation
%{_includedir}/jaegertracing/propagation/Extractor.h
%{_includedir}/jaegertracing/propagation/HeadersConfig.h
%{_includedir}/jaegertracing/propagation/Injector.h
%{_includedir}/jaegertracing/propagation/Propagator.h

%dir %{_includedir}/jaegertracing/reporters
%{_includedir}/jaegertracing/reporters/CompositeReporter.h
%{_includedir}/jaegertracing/reporters/Config.h
%{_includedir}/jaegertracing/reporters/InMemoryReporter.h
%{_includedir}/jaegertracing/reporters/LoggingReporter.h
%{_includedir}/jaegertracing/reporters/NullReporter.h
%{_includedir}/jaegertracing/reporters/RemoteReporter.h
%{_includedir}/jaegertracing/reporters/Reporter.h

%dir %{_includedir}/jaegertracing/samplers
%{_includedir}/jaegertracing/samplers/AdaptiveSampler.h
%{_includedir}/jaegertracing/samplers/Config.h
%{_includedir}/jaegertracing/samplers/ConstSampler.h
%{_includedir}/jaegertracing/samplers/GuaranteedThroughputProbabilisticSampler.h
%{_includedir}/jaegertracing/samplers/ProbabilisticSampler.h
%{_includedir}/jaegertracing/samplers/RateLimitingSampler.h
%{_includedir}/jaegertracing/samplers/RemoteSamplingJSON.h
%{_includedir}/jaegertracing/samplers/RemotelyControlledSampler.h
%{_includedir}/jaegertracing/samplers/Sampler.h
%{_includedir}/jaegertracing/samplers/SamplingStatus.h

%dir %{_includedir}/jaegertracing/thrift-gen
%{_includedir}/jaegertracing/thrift-gen/Agent.h
%{_includedir}/jaegertracing/thrift-gen/AggregationValidator.h
%{_includedir}/jaegertracing/thrift-gen/BaggageRestrictionManager.h
%{_includedir}/jaegertracing/thrift-gen/Collector.h
%{_includedir}/jaegertracing/thrift-gen/Dependency.h
%{_includedir}/jaegertracing/thrift-gen/SamplingManager.h
%{_includedir}/jaegertracing/thrift-gen/TracedService.h
%{_includedir}/jaegertracing/thrift-gen/ZipkinCollector.h
%{_includedir}/jaegertracing/thrift-gen/agent_constants.h
%{_includedir}/jaegertracing/thrift-gen/agent_types.h
%{_includedir}/jaegertracing/thrift-gen/aggregation_validator_constants.h
%{_includedir}/jaegertracing/thrift-gen/aggregation_validator_types.h
%{_includedir}/jaegertracing/thrift-gen/baggage_constants.h
%{_includedir}/jaegertracing/thrift-gen/baggage_types.h
%{_includedir}/jaegertracing/thrift-gen/dependency_constants.h
%{_includedir}/jaegertracing/thrift-gen/dependency_types.h
%{_includedir}/jaegertracing/thrift-gen/jaeger_constants.h
%{_includedir}/jaegertracing/thrift-gen/jaeger_types.h
%{_includedir}/jaegertracing/thrift-gen/sampling_constants.h
%{_includedir}/jaegertracing/thrift-gen/sampling_types.h
%{_includedir}/jaegertracing/thrift-gen/tracetest_constants.h
%{_includedir}/jaegertracing/thrift-gen/tracetest_types.h
%{_includedir}/jaegertracing/thrift-gen/zipkincore_constants.h
%{_includedir}/jaegertracing/thrift-gen/zipkincore_types.h

%dir %{_includedir}/jaegertracing/utils
%{_includedir}/jaegertracing/utils/ErrorUtil.h
%{_includedir}/jaegertracing/utils/HexParsing.h
%{_includedir}/jaegertracing/utils/RateLimiter.h
%{_includedir}/jaegertracing/utils/UDPClient.h
%{_includedir}/jaegertracing/utils/YAML.h

%{_libdir}/libjaegertracing.so

%files devel-static
%{_libdir}/libjaegertracing.a

%changelog

openSUSE Build Service is sponsored by