forked from brockwell/ucommon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ucommon.spec.in
129 lines (110 loc) · 3.72 KB
/
ucommon.spec.in
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Copyright (c) 2008, 2009 David Sugar, Tycho Softworks.
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
Name: ucommon
Summary: Portable C++ runtime for threads and sockets
Version: @VERSION@
Release: 0%{?dist}
License: LGPLv3+
URL: http://www.gnu.org/software/commoncpp
Source0: http://dev.gnutelephony.org/dist/tarballs/ucommon-%{version}.tar.gz
BuildRequires: doxygen graphviz-gd openssl-devel cmake
Group: System Environment/Libraries
Summary: Runtime library for portable C++ threading and sockets
%description
GNU uCommon C++ is a lightweight library to facilitate using C++ design
patterns even for very deeply embedded applications, such as for systems using
uClibc along with POSIX threading support. For this reason, uCommon disables
language features that consume memory or introduce runtime overhead. uCommon
introduces some design patterns from Objective-C, such as reference counted
objects, memory pools, and smart pointers. uCommon introduces some new
concepts for handling of thread locking and synchronization.
%package bin
Requires: %{name}%{?_isa} = %{version}-%{release}
Group: Applications/System
Summary: GNU uCommon system and support applications
%package devel
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: openssl-devel%{?_isa}
Requires: pkgconfig
Group: Development/Libraries
Summary: Headers for building GNU uCommon applications
%package doc
Group: Documentation
Summary: Generated class documentation for GNU uCommon
%description bin
This is a collection of command line tools that use various aspects of the
ucommon library. Some may be needed to prepare files or for development of
applications.
%description devel
This package provides header and support files needed for building
applications that use the uCommon and commoncpp libraries.
%description doc
Generated class documentation for GNU uCommon library from header files,
html browsable.
%prep
%setup -q
%build
%cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DSYSCONFDIR=%{_sysconfdir} \
-DINSTALL_MANDIR=%{_mandir} \
-DINSTALL_INCLUDEDIR=%{_includedir} \
-DINSTALL_BINDIR=%{_bindir} \
-DINSTALL_SBINDIR=%{_sbindir} \
-DINSTALL_LIBEXEC=%{_libexecdir} \
-DINSTALL_LIBDIR=%{_libdir} \
.
%{__make} %{?_smp_mflags}
%{__rm} -rf doc/html
%{__make} doc
%install
%{__make} DESTDIR=%{buildroot} INSTALL="install -p" install
%{__chmod} 0755 %{buildroot}%{_bindir}/ucommon-config
%{__chmod} 0755 %{buildroot}%{_bindir}/commoncpp-config
%files
%defattr(-,root,root,-)
%doc AUTHORS README COPYING COPYING.LESSER COPYRIGHT NEWS SUPPORT ChangeLog
%{_libdir}/libucommon.so.*
%{_libdir}/libusecure.so.*
%{_libdir}/libcommoncpp.so.*
%files bin
%defattr(-,root,root,-)
%{_bindir}/args
%{_bindir}/car
%{_bindir}/pdetach
%{_bindir}/keywait
%{_bindir}/scrub-files
%{_bindir}/mdsum
%{_bindir}/sockaddr
%{_bindir}/zerofill
%{_mandir}/man1/args.*
%{_mandir}/man1/car.*
%{_mandir}/man1/pdetach.*
%{_mandir}/man1/scrub-files.*
%{_mandir}/man1/mdsum.*
%{_mandir}/man1/sockaddr.*
%{_mandir}/man1/zerofill.*
%{_mandir}/man1/keywait.*
%files devel
%defattr(-,root,root,-)
%{_libdir}/*.so
%{_includedir}/ucommon/
%{_includedir}/commoncpp/
%{_libdir}/pkgconfig/*.pc
%{_bindir}/ucommon-config
%{_bindir}/commoncpp-config
%{_mandir}/man1/ucommon-config.*
%{_mandir}/man1/commoncpp-config.*
%files doc
%defattr(-,root,root,-)
%doc doc/html/*
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%changelog