File libdc1394.spec of Package libdc1394

#
# spec file for package libdc1394
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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/
#


# if Build_12 is equal to 0 don't build version 1.2.2
%define Build_12 0

Name:           libdc1394
%define libdc1394_12_version 1.2.2
%define libdc1394_version 2.1.3
BuildRequires:  libraw1394-devel
%if 0%{?suse_version} > 1100
# no IIDC-over-USB support for openSUSE 11.0
BuildRequires:  libusb-1_0-devel
BuildRequires:  pkg-config
%endif
%if 0%{?suse_version} >= 1210
BuildRequires:  libv4l-devel >= 0.8.4
%endif
Version:        %{libdc1394_version}
Release:        27
License:        LGPLv2.1+
Summary:        1394-Based Digital Camera Control Library
Url:            http://sourceforge.net/projects/libdc1394/
Group:          Hardware/Camera
Source1:        libdc1394-%{libdc1394_12_version}.tar.bz2
Source2:        libdc1394-%{libdc1394_version}.tar.bz2
Source3:        %{name}-rpmlintrc
Patch0:         libdc1394.no-x11.patch
Patch1:         libdc1394.ac.patch
Patch2:         libdc1394-swab_fix.patch
Patch3:         libdc1394.raw1394_set_iso_handler.patch
Patch4:         libdc1394-v4l-2.6.38.patch
Patch5:         libdc1394-visibility.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
This library provides functionality for controlling any camera that
conforms to the 1394-Based Digital Camera Specification. It utilizes
the low-level functionality provided by libraw1394 to communicate with
the camera.

%if %{Build_12} >= 1

%package -n libdc1394_control12
Version:        %{libdc1394_12_version}
Release:        22
License:        LGPLv2.1+
Summary:        1394-Based Digital Camera Control Library
Group:          Hardware/Camera

%description -n libdc1394_control12
This library provides functionality for controlling any camera that
conforms to the 1394-Based Digital Camera Specification (which can be
found at http://www.1394ta.org/Download/Technology/Specifications/Camera120.pdf).
It utilizes the low-level functionality provided by libraw1394 to
communicate with the camera.

%package -n libdc1394_control12-devel
Version:        %{libdc1394_12_version}
Release:        22
License:        LGPLv2.1+
Summary:        1394-Based Digital Camera Control Library
Group:          Development/Libraries/C and C++
Requires:       libdc1394_control12 = %{libdc1394_12_version}
Requires:       libraw1394-devel

%description -n libdc1394_control12-devel
This library provides functionality for controlling any camera that
conforms to the 1394-Based Digital Camera Specification (which can be
found at http://www.1394ta.org/Download/Technology/Specifications/Camera120.pdf).
It utilizes the low-level functionality provided by libraw1394 to
communicate with the camera.

%endif

%package 22
License:        LGPLv2.1+
Summary:        1394-Based Digital Camera Control Library
Group:          Hardware/Camera

%description 22
This library provides functionality for controlling any camera that
conforms to the 1394-Based Digital Camera Specification (which can be
found at http://www.1394ta.org/Download/Technology/Specifications/Camera120.pdf).  
It utilizes the low-level functionality provided by libraw1394 to
communicate with the camera.

%package devel
License:        LGPLv2.1+
Summary:        Development libraries and header files for dc1394
Group:          Development/Libraries/C and C++
Requires:       libdc1394 = %{libdc1394_version}
Requires:       libdc1394-22 = %{libdc1394_version}
Requires:       libraw1394-devel

%description devel
This package contains the header files and libraries for building
programs using the dc1394 library.

%prep
%setup -q -T -c  -a 1 -a 2
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%if 0%{?suse_version} >= 1210
%patch4
%endif
%patch5

%build
doit() {
	if pushd "$1" ; then
		autoreconf --force --install
		export CFLAGS="%{optflags}"
		%{configure} --disable-static --with-pic --disable-xv
		make %{?_smp_mflags}
		popd
	fi
}
%if %{Build_12} >= 1
doit libdc1394-%{libdc1394_12_version}
%endif
doit libdc1394-%{libdc1394_version}

%install
doit() {
	if pushd "$1" ; then
		make DESTDIR=%{buildroot} install
		popd
	fi
}
%if %{Build_12} >= 1
doit libdc1394-%{libdc1394_12_version}
%endif
doit libdc1394-%{libdc1394_version}
rm -f %{buildroot}%{_bindir}/dc1394_vloopback %{buildroot}%{_mandir}/man1/dc1394_vloopback.1*
rm -f %{buildroot}%{_mandir}/man1/dc1394_multiview.1*
rm -f %{buildroot}%{_mandir}/man1/grab_*_image.1*
rm -f %{buildroot}%{_libdir}/*.la

%if %{Build_12} >= 1

%post -n libdc1394_control12 -p /sbin/ldconfig

%postun -n libdc1394_control12  -p /sbin/ldconfig
%endif

%post 22 -p /sbin/ldconfig

%postun 22 -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc libdc1394-%{libdc1394_version}/{AUTHORS,COPYING,ChangeLog,NEWS,README}
%{_bindir}/dc1394_reset_bus
%{_mandir}/man1/dc1394_reset_bus.1*

%files 22
%defattr(-,root,root)
%{_libdir}/libdc1394.so.22*

%if %{Build_12} >= 1

%files -n libdc1394_control12
%defattr(-,root,root)
%{_libdir}/libdc1394_control.so.*

%files -n libdc1394_control12-devel
%defattr(-,root,root)
%{_includedir}/libdc1394
%{_libdir}/libdc1394_control*.so
%endif

%files devel
%defattr(-,root,root)
%{_includedir}/dc1394
%{_libdir}/libdc1394.so
%{_libdir}/pkgconfig/*.pc

%changelog
openSUSE Build Service is sponsored by