Sophie

Sophie

distrib > Fedora > 17 > i386 > media > updates-src > by-pkgid > 455ddfad50e42034a08445520d0c222c > files > 2

mingw-wpcap-4.1.final2-9.fc17.src.rpm

%{?mingw_package_header}

%global versionmajor 4
%global versionminor 1
%global versionsuffix 2

%global wpcapexamples %{_docdir}/%{name}/examples
%global wpcapdoc %{_docdir}/%{name}

Name:           mingw-wpcap
Version:        %{versionmajor}.%{versionminor}.final%{versionsuffix}
Release:        9%{?dist}
Summary:        MinGW user-level packet capture

Group:          Development/Libraries
License:        BSD with advertising
URL:            http://www.winpcap.org/
Source0:        http://www.winpcap.org/install/bin/WpcapSrc_%{versionmajor}_%{versionminor}_%{versionsuffix}.zip
Source1:        wpcap.pc
Source2:        wpcap64.pc
Patch0:         wpcap.patch
Patch1:         wpcap-w2k.patch
Patch2:         winpcap-mingw-w64-compatibility.patch
BuildArch:      noarch

BuildRequires:  mingw32-filesystem
BuildRequires:  mingw64-filesystem
BuildRequires:  mingw32-gcc
BuildRequires:  mingw64-gcc
BuildRequires:  doxygen
BuildRequires:  unzip
BuildRequires:  dos2unix
BuildRequires:  bison
BuildRequires:  flex

%description
MinGW Windows pcap library.

%package -n mingw32-wpcap
Summary:        MinGW user-level packet capture

%description -n mingw32-wpcap
MinGW Windows pcap library.

%package -n mingw32-wpcap-examples
Summary:        Example source code for MinGW pcap
Group:          Development/Libraries
Requires:       mingw32-wpcap = %{version}

%description -n mingw32-wpcap-examples
This package contains examples on the usage of the Windows pcap
library.

%package -n mingw32-wpcap-docs
Summary:        MinGW pcap documentation
Group:          Development/Libraries
Requires:       mingw32-wpcap = %{version}

%description -n mingw32-wpcap-docs
This package contains the Windows pcap library documentation.

%package -n mingw64-wpcap
Summary:        MinGW user-level packet capture

%description -n mingw64-wpcap
MinGW Windows pcap library.

%{?mingw_debug_package}

%prep
%setup -q -n winpcap

%patch0 -p0 -b .build
%patch2 -p0 -b .mingw-w64

find . -type f -print0 |xargs -0 dos2unix
pushd wpcap/libpcap/Win32/Include/
mv ip6_misc.h IP6_misc.h
popd

%patch1 -p0 -b .w2k

find . -name GNUmakefile |xargs perl -i -pe 's,-mno-cygwin,,'

# Prevent a conflict between getaddrinfo.c and ws2_32
sed -i s@../libpcap/Win32/Src/getaddrinfo.o@@ wpcap/PRJ/GNUmakefile

mkdir build64
cp -r packetNtx wpcap Common build64


%build
pushd packetNtx/Dll/Project
make -f GNUmakefile CC=i686-w64-mingw32-gcc YACC=bison %{?_smp_mflags} 
popd

pushd wpcap/PRJ
make -f GNUmakefile CC=i686-w64-mingw32-gcc YACC=bison %{?_smp_mflags} 
popd

pushd build64/packetNtx/Dll/Project
make -f GNUmakefile CC=x86_64-w64-mingw32-gcc YACC=bison %{?_smp_mflags} 
popd

pushd build64/wpcap/PRJ
make -f GNUmakefile CC=x86_64-w64-mingw32-gcc YACC=bison %{?_smp_mflags} 
popd

pushd dox/prj
doxygen winpcap_noc.dox
popd


%install
# mingw32
install -d $RPM_BUILD_ROOT/%{mingw32_bindir}
install -d $RPM_BUILD_ROOT/%{mingw32_libdir}/pkgconfig
install -m0644 %{SOURCE1} $RPM_BUILD_ROOT/%{mingw32_libdir}/pkgconfig
install -m0644 packetNtx/Dll/Project/libpacket.a $RPM_BUILD_ROOT/%{mingw32_libdir}/libpacket.dll.a
install -m0644 packetNtx/Dll/Project/Packet.dll $RPM_BUILD_ROOT/%{mingw32_bindir}/packet.dll
install -m0644 wpcap/lib/libwpcap.a $RPM_BUILD_ROOT/%{mingw32_libdir}/libwpcap.dll.a
install -m0644 wpcap/PRJ/wpcap.dll $RPM_BUILD_ROOT/%{mingw32_bindir}
install -m0644 packetNtx/Dll/Packet.def $RPM_BUILD_ROOT/%{mingw32_libdir}/packet.def
install -m0644 wpcap/PRJ/WPCAP.DEF $RPM_BUILD_ROOT/%{mingw32_libdir}/wpcap.def
install -d $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/pcap
install -m0644 wpcap/libpcap/pcap/*.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/pcap
install -m0644 wpcap/libpcap/pcap.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/libpcap/pcap-int.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/libpcap/pcap-bpf.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/libpcap/pcap-namedb.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/libpcap/remote-ext.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/libpcap/pcap-stdinc.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/Win32-Extensions/Win32-Extensions.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/libpcap/Win32/Include/bittypes.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/libpcap/Win32/Include/IP6_misc.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 wpcap/libpcap/Win32/Include/Gnuc.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
install -m0644 Common/Packet32.h $RPM_BUILD_ROOT/%{mingw32_includedir}/wpcap/
# mingw64
install -d $RPM_BUILD_ROOT/%{mingw64_bindir}
install -d $RPM_BUILD_ROOT/%{mingw64_libdir}/pkgconfig
install -m0644 %{SOURCE2} $RPM_BUILD_ROOT/%{mingw64_libdir}/pkgconfig/wpcap.pc
install -m0644 build64/packetNtx/Dll/Project/libpacket.a $RPM_BUILD_ROOT/%{mingw64_libdir}/libpacket.dll.a
install -m0644 build64/packetNtx/Dll/Project/Packet.dll $RPM_BUILD_ROOT/%{mingw64_bindir}/packet.dll
install -m0644 build64/wpcap/lib/libwpcap.a $RPM_BUILD_ROOT/%{mingw64_libdir}/libwpcap.dll.a
install -m0644 build64/wpcap/PRJ/wpcap.dll $RPM_BUILD_ROOT/%{mingw64_bindir}
install -m0644 build64/packetNtx/Dll/Packet.def $RPM_BUILD_ROOT/%{mingw64_libdir}/packet.def
install -m0644 build64/wpcap/PRJ/WPCAP.DEF $RPM_BUILD_ROOT/%{mingw64_libdir}/wpcap.def
install -d $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/pcap
install -m0644 build64/wpcap/libpcap/pcap/*.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/pcap
install -m0644 build64/wpcap/libpcap/pcap.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/wpcap/libpcap/pcap-int.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/wpcap/libpcap/pcap-bpf.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/wpcap/libpcap/pcap-namedb.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/wpcap/libpcap/remote-ext.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/wpcap/libpcap/pcap-stdinc.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/wpcap/Win32-Extensions/Win32-Extensions.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/wpcap/libpcap/Win32/Include/bittypes.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/wpcap/libpcap/Win32/Include/IP6_misc.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/wpcap/libpcap/Win32/Include/Gnuc.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
install -m0644 build64/Common/Packet32.h $RPM_BUILD_ROOT/%{mingw64_includedir}/wpcap/
# doc
install -d $RPM_BUILD_ROOT/%{wpcapdoc}/html
install -m0644 dox/WinPcap_docs.html $RPM_BUILD_ROOT/%{wpcapdoc}/
install -m0644 dox/prj/docs/* $RPM_BUILD_ROOT/%{wpcapdoc}/html
install -m0644 dox/pics/*.gif $RPM_BUILD_ROOT/%{wpcapdoc}/html
install -m0644 dox/*.gif $RPM_BUILD_ROOT/%{wpcapdoc}/html
# examples
install -d $RPM_BUILD_ROOT/%{wpcapexamples}
install -d $RPM_BUILD_ROOT/%{wpcapexamples}
cp -r Examples $RPM_BUILD_ROOT/%{wpcapexamples}/remote
cp -r Examples-pcap $RPM_BUILD_ROOT/%{wpcapexamples}/pcap
rm -rf $RPM_BUILD_ROOT/%{wpcapexamples}/remote/NetMeter
rm -rf $RPM_BUILD_ROOT/%{wpcapexamples}/remote/kdump
rm -rf $RPM_BUILD_ROOT/%{wpcapexamples}/pcap/winpcap_stress
rm -rf $RPM_BUILD_ROOT/%{wpcapexamples}/pcap/stats


%files -n mingw32-wpcap
%doc wpcap/libpcap/LICENSE
%{mingw32_libdir}/pkgconfig/wpcap.pc
%{mingw32_bindir}/packet.dll
%{mingw32_bindir}/wpcap.dll
%{mingw32_libdir}/libpacket.dll.a
%{mingw32_libdir}/libwpcap.dll.a
%{mingw32_libdir}/packet.def
%{mingw32_libdir}/wpcap.def
%{mingw32_includedir}/wpcap

%files -n mingw32-wpcap-docs
%{wpcapdoc}/WinPcap_docs.html
%{wpcapdoc}/html

%files -n mingw32-wpcap-examples
%{wpcapexamples}

%files -n mingw64-wpcap
%doc build64/wpcap/libpcap/LICENSE
%{mingw64_libdir}/pkgconfig/wpcap.pc
%{mingw64_bindir}/packet.dll
%{mingw64_bindir}/wpcap.dll
%{mingw64_libdir}/libpacket.dll.a
%{mingw64_libdir}/libwpcap.dll.a
%{mingw64_libdir}/packet.def
%{mingw64_libdir}/wpcap.def
%{mingw64_includedir}/wpcap

%changelog
* Mon Nov 19 2012 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.final2-9
- avoid getaddrinfo (W2k does not provide it)

* Mon Nov 19 2012 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.final2-8
- avoid freeaddrinfo (W2k does not provide it)

* Fri Aug 17 2012 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.final2-7
- enable 64bit build

* Wed Mar 07 2012 Kalev Lember <kalevlember@gmail.com> - 4.1.final2-6
- Renamed the source package to mingw-wpcap (#801038)
- Modernize the spec file
- Use mingw macros without leading underscore

* Mon Feb 27 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 4.1.final2-5
- Rebuild against the mingw-w64 toolchain
- Added a patch to fix compatibility with the mingw-w64 toolchain

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.final2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Wed Nov 30 2011 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.final2-3
- fix build
- make wpcap.dll work again on Windows 2000

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.final2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Thu Jul  8 2010 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.final2-1
- update to 4.1.2
- examples and docs subpackages require base package for licensing reasons

* Tue Nov 10 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.final1-1
- update to 4.1.1

* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.1.beta5-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Wed Jul 15 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.beta5-8
- fix BR

* Wed Jul 15 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.beta5-7
- fix BR

* Tue Jun 23 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.beta5-6
- fix debuginfo package generation

* Mon Jun 22 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.beta5-5
- add debuginfo packages

* Fri Jun 12 2009 Richard W.M. Jones <rjones@redhat.com> - 4.1.beta5-4
- Doesn't work with byacc, needs bison.
- Some minor cleanups to the spec file.

* Thu Apr 16 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.beta5-3
- replace %%define with %%global

* Wed Mar 25 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.beta5-2
- fix BR
- add license file
- rename implibs

* Mon Feb 16 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.1.beta5-1
- initial package