3 %bcond_without java # Java binding
4 %bcond_without python # Python binding
6 Summary: NACK-Oriented Reliable Multicast library
7 Summary(pl.UTF-8): Biblioteka NACK-Oriented Reliable Multicast
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
12 %define fver %(echo %{version} | tr r .)
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
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30 NACK-Oriented Reliable Multicast library.
32 %description -l pl.UTF-8
33 Biblioteka NACK-Oriented Reliable Multicast.
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}
42 Header files for NORM library.
44 %description devel -l pl.UTF-8
45 Pliki nagłówkowe biblioteki NORM.
48 Summary: Static NORM library
49 Summary(pl.UTF-8): Statyczna biblioteka NORM
50 Group: Development/Libraries
51 Requires: %{name}-devel = %{version}-%{release}
56 %description static -l pl.UTF-8
57 Statyczna biblioteka NORM.
60 Summary: Java JNI bindings for NORM
61 Summary(pl.UTF-8): Wiązania JNI Javy do biblioteki NORM
63 Requires: %{name} = %{version}-%{release}
66 %description -n java-norm
67 Java JNI bindings for NORM C API.
69 %description -n java-norm -l pl.UTF-8
70 Wiązania JNI Javy do API C biblioteki NORM.
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}
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.
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.
90 # despite .tgz extension it's plain tar archive
93 #setup -n %{name}-%{fver}
96 %{__sed} -i -e 's/"libnorm\.so"/"libnorm.so.1"/' src/pynorm/core.py
100 --prefix=%{_prefix} \
101 --libdir=%{_libdir} \
102 %{?with_java:--build-java}
112 rm -rf $RPM_BUILD_ROOT
113 install -d $RPM_BUILD_ROOT%{_includedir}
116 --destdir=$RPM_BUILD_ROOT \
120 install -Dp build/norm.jar $RPM_BUILD_ROOT%{_javadir}/norm.jar
130 rm -rf $RPM_BUILD_ROOT
132 %post -p /sbin/ldconfig
133 %postun -p /sbin/ldconfig
135 %post -n java-norm -p /sbin/ldconfig
136 %postun -n java-norm -p /sbin/ldconfig
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
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
155 %defattr(644,root,root,755)
157 %{_libdir}/libprotokit.a
161 %defattr(644,root,root,755)
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
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