#
# spec file for package libdc1394
#
# Copyright (c) 2017 SUSE LINUX 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/
#


Name:           libdc1394
Version:        2.2.5
Release:        1.4
Summary:        1394-Based Digital Camera Control Library
License:        LGPL-2.1+
Group:          Hardware/Camera
Url:            http://damien.douxchamps.net/ieee1394/libdc1394/
Source0:        https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/%{version}/%{name}-%{version}.tar.gz
Source1:        %{name}-rpmlintrc
Source2:        baselibs.conf
Patch0:         libdc1394.no-x11.patch
Patch1:         libdc1394.ac.patch
Patch2:         libdc1394-swab_fix.patch
Patch3:         libdc1394-v4l-2.6.38.patch
BuildRequires:  autoconf
BuildRequires:  libraw1394-devel
BuildRequires:  libtool
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1110
BuildRequires:  libSDL-devel
%else
BuildRequires:  SDL-devel
%endif
%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

%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.

%package 22
Summary:        1394-based Digital Camera Control library
Group:          System/Libraries

%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
Summary:        Development libraries and header files for dc1394
Group:          Development/Libraries/C and C++
Requires:       %{name}-tools = %{version}
Requires:       libdc1394-22 = %{version}
Requires:       libraw1394-devel

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

%package tools
Summary:        Command-line utilities from libdc1394
# added on 2015-11-14
Group:          Hardware/Camera
Obsoletes:      %name < %version-%release
Provides:       %name = %version-%release

%description tools
This subpackage contains a 1394 bus reset utility.

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%if 0%{?suse_version} >= 1210
%patch3 -p1
%endif

%build
autoreconf --force --install
%configure \
	--disable-static \
	--disable-xv
make %{?_smp_mflags}

%install
%make_install %{?_smp_mflags}
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*
find %{buildroot} -type f -name "*.la" -delete -print

%post 22 -p /sbin/ldconfig

%postun 22 -p /sbin/ldconfig

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

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

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

%changelog
* Mon Jan  9 2017 matwey.kornilov@gmail.com
- Update to 2.2.5:
  - Minor thread-safety improvements
* Wed Feb  3 2016 matwey.kornilov@gmail.com
- Update to 2.2.4:
  - Add USB IDs for some Point Grey cameras
  - Re-activate the EdgeSense debayering algorithm (patent has expired)
  - USB-captured frames now have a valid timestamp
  - Look for USB enpoints on all interfaces
* Sat Nov 14 2015 jengelh@inai.de
- Drop redundant --with-pic; it is only used for static libs (which
  we do not build), and always on anyway for shared libraires.
- Name the utility package -tools as with many other pkgs.
- Remove non-library packages from baselibs.conf.
* Sat Mar 21 2015 mpluskal@suse.com
- Cleanup spec file with spec-cleaner
- Use url for source
* Mon Nov 10 2014 matwey.kornilov@gmail.com
- Add baselibs.conf as Source
* Wed Sep 10 2014 matwey.kornilov@gmail.com
- Version 2.2.3
  - several product IDs have been added for Point Grey USB/IIDC cameras
* Thu May  1 2014 crrodriguez@opensuse.org
- remove libdc1394-visibility.patch, nowadays
  the package uses -export-symbols-regex to limit
  the visible symbols to those prefixed with dc1394_
  fixes http://lists.opensuse.org/opensuse-packaging/2014-04/msg00064.html
* Fri Mar  7 2014 matwey.kornilov@gmail.com
- Update to 2.2.2
  - several product IDs have been added for Point Grey USB/IIDC cameras
* Tue Jan 29 2013 matwey.kornilov@gmail.com
- Drop support of libdc1394-1 (which is unused for a long time)
* Mon Jan 28 2013 matwey.kornilov@gmail.com
- Update to 2.2.1
  - updated all licenses to LPGL2 (bnc#777083)
  - misc fixes
  - don't expose internal symbols
* Fri Mar  9 2012 matwey.kornilov@gmail.com
- Update to 2.2.0.
  - new Windows stack
  - fixed small memory leak in Juju
  - added two USB cameras from Point Grey.
* Thu Nov 17 2011 matwey.kornilov@gmail.com
- Update to 2.1.4.
  - Allow image buffers to be editable by client apps on Linux juju
  - Correct error in downsample bayer function
  - Rename poorly named externally-visible symbol usb_init
    (meanwhile libdc1394-visibility.patch is still kept)
* Sun Nov 13 2011 coolo@suse.com
- add libtool as explicit buildrequire to avoid implicit dependency from prjconf
* Mon Aug 29 2011 idonmez@suse.com
- Add libdc1394-visibility.patch to properly hide internal symbols
  to prevent potential clashes with other libraries, sf #3361405 ,
  bko # 268267
* Thu Jul  7 2011 idonmez@novell.com
- Add libdc1394-v4l-2.6.38.patch: use the new v4l interface
* Thu Apr 14 2011 toddrme2178@gmail.com
- added 32bit compatibility libraries
- added necessary devel depedencies (fix for RPMLINT warning)
* Mon Jan  3 2011 matwey.kornilov@gmail.com
- Update to 2.1.3.
  - Bug fixes:
    Fix for usb writes larger than 1 quadlet
    On MAC OS, add needed frameworks to link line
    Update firewire-{cdev,constants}.h to latest version and license
    Change dequeue/enqueue to return error code if usb transfer haserror
    dc1394/conversions.h: Fix typo in DC1394_STEREO_METHOD_MIN define
* Fri Nov 19 2010 jslaby@novell.com
- don't strip the objects when installing to allow for -debug*
  package creation
* Mon Oct  4 2010 davejplater@gmail.com
- Version 1.2.2 no longer builds with libraw1394-2.0.5 so sub packages
  libdc1394_control12 and libdc1394_control12-devel are no longer
  provided. See entry for Tue Aug 15 14:10:33 CEST 2006.
* Sun Dec 27 2009 matwey.kornilov@gmail.com
- Update to 2.1.2.
  - IIDC-over-USB support
  - Bug fixes:
    bayer conversion problem for 16bit over MONO16
    dc1394_deinterlace_stereo_frames (LP#360520)
  - Bug fixes on Linux Juju:
    missing frames with OHCI 1.0
    automatic iso allocation
    timestamp support
    broadcasting
* Mon Nov 23 2009 matwey.kornilov@gmail.com
- Update to 2.0.3. Changes since 2.0.2:
  - Bug fixes on MSW port
  - Bug fixes:
    dc1394_trigger_get_polarity
    dc1394_deinterlace_stereo_frames
  - Bug fixes on Linux Juju:
  - alignment problem during reads
  - Bug fixes on Mac OS:
  - crash fix for Mac OS 10.4
* Tue Jan 13 2009 crrodriguez@suse.de
- remove static libraries and "la" files
* Mon Oct  6 2008 olh@suse.de
- fix ordered comparison of pointer with integer zero (bnc#431916)
* Thu Jun 19 2008 pth@suse.de
- Include unistd.h to get prototype for swab.
- Update to 2.0.2. Changes since 2.0.0:
  - New functions on all platforms:
    dc1394_camera_get_node
    dc1394_capture_is_frame_corrupt
  - New function on Linux video1394 only:
    dc1394_camera_get_linux_port
  - New example program to capture PVN sequences.
  - Bug fixes on Linux Juju:
  - Better retry timeouts
  - Fix manual isochronous channel allocation
  - Bug fixes on Mac OS:
  - Auto detection of bad or skipped packets (used for
    dc1394_capture_is_frame_corrupt)
  - Bug fixes on Linux video1394:
  - Fix select() with multiple cameras on the same controller
  - Handle EINTR return code properly in dc1394_capture_dequeue
  - Better error detection if camera enumeration fails
  - Documentation improvements
  - - 2.0.1:
  - Fixed broken dc1394/dc1394.h include file when compiling externally.
  - Removed the "edge-sense" bayer demosaic algorithm out of patent concern.
* Fri Apr 11 2008 schwab@suse.de
- Fix configure script.
* Thu Jan 24 2008 olh@suse.de
- remove buildrequires for xorg-x11-devel
* Tue Jan 15 2008 olh@suse.de
- libdc1394-devel requires libdc1394-22
* Mon Jan 14 2008 olh@suse.de
- update to 2.0.0 final
  rename libdc1394-20 to libdc1394-22 due to SONAME change
* Thu Aug 16 2007 olh@suse.de
- libdc1394_control12-devel needs libraw1394-devel
* Thu Aug 16 2007 olh@suse.de
- remove inclusion of code which is labeled as GPL (298152)
  removes topology.h, cooked1394_read() and others
  remove dc1394_vloopback binary
* Sun Aug  5 2007 olh@suse.de
- split libdc1394-20 package which contains only libraries
  split libdc1394_control12 and libdc1394_control12-devel
  upgrade to 1.2.2, color filter fix
* Fri Jul 13 2007 olh@suse.de
- update to 2.0.0-rc7
  API fixes
* Tue Aug 15 2006 olh@suse.de
- update to 2.0.0-rc3 (#198102)
  all new API
- keep old library version until every app is converted
* Wed Jul 19 2006 olh@suse.de
- update to 1.2.1
  replaced camera version detection in dc1394_is_camera() by a
  proper call to dc1394_get_sw_version().
  fixed compilation warnings due to mixed signedness in the whole code.
  fixed a serious bug in the camera detection.
  updated TRIGGER_MODE_NUM definition
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Oct 21 2005 olh@suse.de
- correct usage of CLK_TCK
- update to current cvs
  fixed memory leak in capture functions (dma device name not freed)
  fixed trigger capabilities detection (Markus Niebel)
  fixed some confusion between raw1394_new_handle and dc1394_create_handle
  (Thanks to Thorondor)
* Mon Sep 26 2005 mls@suse.de
- make devel package require base package
* Tue Jul  5 2005 olh@suse.de
- go back to version 1, version 2 still needs some time
* Fri Jul  1 2005 olh@suse.de
- update to version 2.0.0-pre3
* Fri Jul  1 2005 olh@suse.de
- update to version 1.1.0
* Thu Jan 13 2005 olh@suse.de
- update to version 1.0.0, cvs status 2004-11-12
* Tue Jan 11 2005 olh@suse.de
- update to version 1.0.0
* Mon Mar  8 2004 lmuelle@suse.de
- update to version 0.9.3
- create devel sub package
* Wed Jan  7 2004 lmuelle@suse.de
- update to version 0.9.2
* Mon Jul 28 2003 adrian@suse.de
- fix lib filename suffix
* Fri Jul 25 2003 adrian@suse.de
- update to version 0.9.1
- use BuildRoot
- add %%run_ldconfig
* Fri Sep 27 2002 uli@suse.de
- initial package