summaryrefslogtreecommitdiff
path: root/libwebsocketpp-dev.spec
blob: 889b585e02fb2fe38e72dcf7640bc9d9d48842e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# topdir: libwebsocketpp-dev-0.8.2
#   The shipped tarball is synthesized from ./sources/libwebsocketpp-dev/ using
#   `tar --transform` to rename the top directory to libwebsocketpp-dev-0.8.2,
#   so the setup step must be pinned to that directory name (-n).
#   The upstream GitHub tag archive for 0.8.2 unpacks to `websocketpp-0.8.2`,
#   hence the #/ fragment on Source0 which pins the local tarball name.
#
# Header-only library: no shared object is produced and no main (runtime) package
# is installed, therefore the debuginfo machinery must be disabled.

%global debug_package %{nil}

Name:           libwebsocketpp-dev
Version:        0.8.2
Release:        1%{?dist}
Summary:        Header-only C++ WebSocket++ library

License:        BSD-3-Clause AND Zlib AND MIT
URL:            https://github.com/zaphoyd/websocketpp
Source0:        https://github.com/zaphoyd/websocketpp/archive/refs/tags/%{version}.tar.gz#/libwebsocketpp-dev-%{version}.tar.gz

Group:          Development/Libraries
Packager:       openEuler Builder <builder@openeuler.org>
BuildArch:      noarch

BuildRequires:  cmake
BuildRequires:  gcc
BuildRequires:  gcc-c++
BuildRequires:  boost-devel >= 1.39.0
BuildRequires:  openssl-devel
BuildRequires:  zlib-devel

Provides:       websocketpp-devel = %{version}-%{release}
Provides:       cmake(websocketpp) = %{version}

%description
WebSocket++ is a header only C++ library that implements RFC6455, the WebSocket
Protocol. It allows integrating WebSocket client and server functionality into
C++ programs. It uses interchangeable network transport modules, including one
based on raw char buffers, one based on C++ iostreams, and one based on Asio
(either Boost.Asio or standalone Asio). TLS support and message compression are
provided via pluggable extensions built on OpenSSL and zlib.

This package contains the header files and the CMake integration files
(websocketpp-config.cmake, exposing the imported target
websocketpp::websocketpp) needed to build applications against WebSocket++.

%prep
%autosetup -n %{name}-%{version}

%build
# Boost / OpenSSL / zlib are only probed by upstream when tests or examples are
# enabled; both are disabled so the shipped artifacts have no such linkage.
#
# NOTE (openEuler 24.03 LTS SP3 build fix, build 112495): the openEuler %cmake
# macro configures IN SOURCE (no -B/-S), so the out-of-source build directory
# %{_vpath_builddir} (= %{_target_platform}, e.g. noarch-openEuler-linux-gnu)
# never exists and %cmake_build aborts with
#   Error: .../noarch-openEuler-linux-gnu is not a directory
# Likewise %cmake_install would target that missing directory. Hence drive the
# already-configured in-source tree with the plain make macros; this is the same
# pattern used by the other header-only cpp packages built in this chroot.
%cmake \
    -DBUILD_EXAMPLES=OFF \
    -DBUILD_TESTS=OFF
%make_build

%install
%make_install

%files
%license COPYING
%doc readme.md changelog.md roadmap.md
%{_includedir}/websocketpp/
%{_prefix}/lib/cmake/websocketpp/

%changelog
* Mon Sep 21 2026 openEuler Builder <builder@openeuler.org> - 0.8.2-1
- Initial package