]> git.pld-linux.org Git - SPECS.git/blob - norm.spec
SPECS updated Sun 1 Aug 11:02:02 CEST 2021
[SPECS.git] / norm.spec
1 #
2 # Conditional build:
3 %bcond_without  java            # Java binding
4 %bcond_without  python          # Python binding
5 #
6 Summary:        NACK-Oriented Reliable Multicast library
7 Summary(pl.UTF-8):      Biblioteka NACK-Oriented Reliable Multicast
8 Name:           norm
9 # upstream changed versioning scheme 1.5r6 -> 1.5.7, but rpm says thay 1.5r6 > 1.5.8
10 # so let's delay switching to avoid epoch bumps until 1.6.x series
11 Version:        1.5r9
12 %define fver    %(echo %{version} | tr r .)
13 Release:        1
14 License:        BSD
15 Group:          Libraries
16 #Source0Download: https://github.com/USNavalResearchLaboratory/norm/releases
17 Source0:        https://github.com/USNavalResearchLaboratory/norm/releases/download/v%{fver}/src-norm-%{fver}.tgz
18 # Source0-md5:  fea518e8fa7d5205d3ff455b9f224da8
19 URL:            https://www.nrl.navy.mil/itd/ncs/products/norm
20 %{?with_java:BuildRequires:     jdk}
21 BuildRequires:  libstdc++-devel
22 %{?with_python:BuildRequires:   python-devel >= 1:2.5}
23 BuildRequires:  rpm-build >= 4.6
24 BuildRequires:  rpmbuild(macros) >= 1.714
25 BuildRequires:  sed >= 4.0
26 BuildRequires:  waf
27 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28
29 %description
30 NACK-Oriented Reliable Multicast library.
31
32 %description -l pl.UTF-8
33 Biblioteka NACK-Oriented Reliable Multicast.
34
35 %package devel
36 Summary:        Header files for NORM library
37 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki NORM
38 Group:          Development/Libraries
39 Requires:       %{name} = %{version}-%{release}
40
41 %description devel
42 Header files for NORM library.
43
44 %description devel -l pl.UTF-8
45 Pliki nagłówkowe biblioteki NORM.
46
47 %package static
48 Summary:        Static NORM library
49 Summary(pl.UTF-8):      Statyczna biblioteka NORM
50 Group:          Development/Libraries
51 Requires:       %{name}-devel = %{version}-%{release}
52
53 %description static
54 Static NORM library.
55
56 %description static -l pl.UTF-8
57 Statyczna biblioteka NORM.
58
59 %package -n java-norm
60 Summary:        Java JNI bindings for NORM
61 Summary(pl.UTF-8):      Wiązania JNI Javy do biblioteki NORM
62 Group:          Libraries/Java
63 Requires:       %{name} = %{version}-%{release}
64 Requires:       jre
65
66 %description -n java-norm
67 Java JNI bindings for NORM C API.
68
69 %description -n java-norm -l pl.UTF-8
70 Wiązania JNI Javy do API C biblioteki NORM.
71
72 %package -n python-pynorm
73 Summary:        PyNORM - Python wrapper for NORM and Extras
74 Summary(pl.UTF-8):      PyNORM - interfejs Pythona do biblioteki NORM oraz dodatki
75 Group:          Libraries/Python
76 Requires:       %{name} = %{version}-%{release}
77 BuildArch:      noarch
78
79 %description -n python-pynorm
80 PyNORM provides a thin wrapper around the NORM C API in the main
81 package. It also provides several additional modules in the extra
82 package to provide higher level usage of NORM.
83
84 %description -n python-pynorm -l pl.UTF-8
85 PyNORM udostępnia cienką warstwę obudowującą API C biblioteki NORM w
86 głównym pakiecie. Zawiera także kilka dodatkowych modułów w pakiecie
87 extra; pozwalają one na wykorzystanie NORM na wyższym poziomie.
88
89 %prep
90 # despite .tgz extension it's plain tar archive
91 %setup -q -c -T
92 tar xf %{SOURCE0}
93 #setup -n %{name}-%{fver}
94
95 # load by SONAME
96 %{__sed} -i -e 's/"libnorm\.so"/"libnorm.so.1"/' src/pynorm/core.py
97
98 %build
99 %waf configure \
100         --prefix=%{_prefix} \
101         --libdir=%{_libdir} \
102         %{?with_java:--build-java}
103
104 %waf \
105         --verbose
106
107 %if %{with python}
108 %py_build
109 %endif
110
111 %install
112 rm -rf $RPM_BUILD_ROOT
113 install -d $RPM_BUILD_ROOT%{_includedir}
114
115 %waf install \
116         --destdir=$RPM_BUILD_ROOT \
117         --verbose
118
119 %if %{with java}
120 install -Dp build/norm.jar $RPM_BUILD_ROOT%{_javadir}/norm.jar
121 %endif
122
123 %if %{with python}
124 %py_install
125
126 %py_postclean
127 %endif
128
129 %clean
130 rm -rf $RPM_BUILD_ROOT
131
132 %post   -p /sbin/ldconfig
133 %postun -p /sbin/ldconfig
134
135 %post   -n java-norm -p /sbin/ldconfig
136 %postun -n java-norm -p /sbin/ldconfig
137
138 %files
139 %defattr(644,root,root,755)
140 %doc LICENSE README.md TODO.TXT VERSION.TXT
141 %attr(755,root,root) %{_libdir}/libnorm.so.*.*.*
142 %attr(755,root,root) %ghost %{_libdir}/libnorm.so.1
143 %attr(755,root,root) %{_libdir}/libprotokit.so.*.*.*
144 %attr(755,root,root) %ghost %{_libdir}/libprotokit.so.3
145
146 %files devel
147 %defattr(644,root,root,755)
148 %doc NormSocketBindingNotes.txt doc/{NormDeveloperGuide.pdf,NormUserGuide.pdf,npcUsage.pdf}
149 %attr(755,root,root) %{_libdir}/libnorm.so
150 %attr(755,root,root) %{_libdir}/libprotokit.so
151 %{_includedir}/normApi.h
152 %{_pkgconfigdir}/norm.pc
153
154 %files static
155 %defattr(644,root,root,755)
156 %{_libdir}/libnorm.a
157 %{_libdir}/libprotokit.a
158
159 %if %{with java}
160 %files -n java-norm
161 %defattr(644,root,root,755)
162 %doc README-Java.txt
163 %attr(755,root,root) %{_libdir}/libProtolibJni.so
164 %attr(755,root,root) %{_libdir}/libmil_navy_nrl_norm.so.*.*.*
165 %attr(755,root,root) %ghost %{_libdir}/libmil_navy_nrl_norm.so.1
166 %attr(755,root,root) %{_libdir}/libmil_navy_nrl_norm.so
167 %{_javadir}/norm.jar
168 %endif
169
170 %if %{with python}
171 %files -n python-pynorm
172 %defattr(644,root,root,755)
173 %doc README-PyNorm.txt
174 %{py_sitescriptdir}/pynorm
175 %{py_sitescriptdir}/pynorm-1.0-py*.egg-info
176 %endif
This page took 0.222336 seconds and 3 git commands to generate.