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 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
#
# spec file for package ucommon
#
# Copyright (c) 2015 Cherokees of Idaho.
# Copyright (c) 2008-2014 David Sugar, Tycho Softworks.
#
# 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/
#
%define libname libucommon8
%if %{_target_cpu} == "x86_64"
%define build_docs 1
%else
%define build_docs 0
%endif
Name: ucommon
Version: @VERSION@
Release: 1
Summary: Portable C++ runtime for threads and sockets
License: LGPL-3.0+
Group: Productivity/Other
Url: http://www.gnu.org/software/commoncpp
Source: %{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: graphviz-gd
BuildRequires: pkgconfig
BuildRequires: pkgconfig(openssl)
Requires: %{libname}%{_isa} = %{version}-%{release}
# historically we used a -bin for ucommon applications...
Obsoletes: %{name}-bin < %{version}-%{release}
Provides: %{name}-bin = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%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. GNU uCommon introduces some new
concepts for handling of thread locking and synchronization.
%package -n %{libname}
Summary: GNU ucommon runtime library
Group: System/Libraries
%description -n %{libname}
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. GNU uCommon introduces some new
concepts for handling of thread locking and synchronization.
%package devel
Summary: Headers for building ucommon applications
Group: Development/Libraries/C and C++
Requires: %{libname}%{_isa} = %{version}-%{release}
Requires: gcc-c++
Requires: libopenssl-devel%{_isa}
Requires: pkgconfig
%description devel
This package provides header and support files needed for building
applications that use the uCommon library and frameworks.
%if %{build_docs}
%package doc
Summary: Generated class documentation for ucommon
Group: Documentation/HTML
BuildArch: noarch
%description doc
Generated class documentation for GNU uCommon library from header files,
html browsable.
%endif
%prep
%setup -q
%build
%cmake \
-DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \
-DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir}
make %{?_smp_mflags}
%if %{build_docs}
rm -rf doc/html
make doc %{?_smp_mflags}
%endif
%install
%cmake_install
chmod 0755 %{buildroot}%{_bindir}/ucommon-config
chmod 0755 %{buildroot}%{_bindir}/commoncpp-config
%files -n %{libname}
%defattr(-,root,root,-)
%{_libdir}/libucommon.so.*
%{_libdir}/libusecure.so.*
%{_libdir}/libcommoncpp.so.*
%files
%defattr(-,root,root,-)
%doc AUTHORS README COPYING COPYING.LESSER COPYRIGHT NEWS SUPPORT ChangeLog
%{_bindir}/args
%{_bindir}/car
%{_bindir}/keywait
%{_bindir}/scrub-files
%{_bindir}/mdsum
%{_bindir}/sockaddr
%{_bindir}/zerofill
%{_bindir}/pdetach
%{_bindir}/urlout
%{_mandir}/man1/args.*
%{_mandir}/man1/car.*
%{_mandir}/man1/scrub-files.*
%{_mandir}/man1/mdsum.*
%{_mandir}/man1/sockaddr.*
%{_mandir}/man1/zerofill.*
%{_mandir}/man1/keywait.*
%{_mandir}/man1/pdetach.*
%{_mandir}/man1/urlout.*
%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.*
%dir %{_datadir}/ucommon
%dir %{_datadir}/ucommon/cmake
%{_datadir}/ucommon/cmake/Cape*.cmake
%if %{build_docs}
%files doc
%defattr(-,root,root,-)
%doc build/doc/html/*
%endif
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%changelog
|