Summary: Library for accessing digital cameras
Summary(ja): デジタルカメラにアクセスするためのライブラリ
Name: libgphoto2
Version: 2.5.0
Release: 1%{?_dist_release}

# GPLV2+ for the main lib (due to exif.c) and most plugins, some plugins GPLv2
License: GPLv2+ and GPLv2
Group: System Environment/Libraries
URL: http://www.gphoto.org/

Source0: http://downloads.sourceforge.net/gphoto/libgphoto2-%{version}.tar.bz2
Patch1: gphoto2-pkgcfg.patch
Patch2: gphoto2-storage.patch
Patch3: gphoto2-ixany.patch
Patch5: gphoto2-device-return.patch

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: libusb-devel >= 0.1.6a
BuildRequires: libusb1-devel
BuildRequires: libexif-devel
BuildRequires: libjpeg-devel
BuildRequires: pkgconfig, sharutils
BuildRequires: libtool-ltdl-devel >= 2.2.6a
BuildRequires: popt-devel
BuildRequires: dbus-devel
BuildRequires: gd-devel
# we run autoreconf:
BuildRequires: autoconf, automake, libtool, gettext, cvs
Obsoletes: gphoto2 < 2.4.0
Obsoletes: gphoto2-devel < 2.4.0

Vendor: Project Vine
Distribution: Vine Linux

%description
libgphoto2 is a library that can be used by applications to access
various digital cameras. libgphoto2 itself is not a GUI application,
opposed to gphoto. There are GUI frontends for the gphoto2 library,
however, such as gtkam for example.

%package devel
Summary: Headers and links to compile against the libgphoto2 library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
Requires: libusb-devel >= 0.1.6a
Requires: libusb1
Requires: libexif-devel
Obsoletes: gphoto2 < 2.4.0-11
Obsoletes: gphoto2-devel < 2.4.0-11
Provides: gphoto2-devel = %{version}-%{release}

%description devel
libgphoto2 is a library that can be used by applications to access
various digital cameras. libgphoto2 itself is not a GUI application,
opposed to gphoto. There are GUI frontends for the gphoto2 library,
however, such as gtkam for example.

This package contains files needed to compile applications that
use libgphoto2.

%prep
%setup -q
%patch1 -p1 -b .pkgcfg
%patch2 -p1 -b .storage
%patch3 -p1 -b .ixany
%patch5 -p1 -b .device-return

for i in AUTHORS COPYING libgphoto2_port/AUTHORS libgphoto2_port/COPYING.LIB $(find -name 'README.*'); do
        mv ${i} ${i}.old
        iconv -f ISO-8859-1 -t UTF-8 < ${i}.old > ${i}
        touch -r ${i}.old ${i} || :
        rm -f ${i}.old
done
				
# FIXME: These .pc.in files aren't actually being installed?
cat > gphoto2.pc.in << \EOF
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
VERSION=@VERSION@

Name: gphoto2
Description: Library for easy access to digital cameras
Requires:
Version: @VERSION@
Libs: -L${libdir} -lgphoto2 -lgphoto2_port -lm
Cflags: -I${includedir} -I${includedir}/gphoto2
EOF
sed 's/Name: gphoto2/Name: gphoto2-port/' < gphoto2.pc.in > gphoto2-port.pc.in

%build
export CFLAGS=$RPM_OPT_FLAGS
%configure \
	udevscriptdir='/lib/udev' \
	--with-drivers=all \
	--with-doc-dir=%{_docdir}/%{name} \
	--disable-static \
	--disable-rpath \
	--without-aalib \
	--without-hal
make %{?_smp_mflags}

%install
rm -rf "${RPM_BUILD_ROOT}"

make mandir=%{_mandir} DESTDIR=$RPM_BUILD_ROOT install

pushd packaging/linux-hotplug/
install -d -m755 %{buildroot}/usr/share/hal/fdi/information/20thirdparty/
export LIBDIR=$RPM_BUILD_ROOT%{_libdir}
export CAMLIBS=$RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}
$RPM_BUILD_ROOT%{_libdir}/%{name}/print-camera-list hal-fdi | \
grep -v "<!-- This file was generated" > $RPM_BUILD_ROOT/%{_datadir}/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi

# Output udev rules for device identification; this is used by GVfs gphoto2
# backend and others.
#
# Btw, since it's /lib/udev, never e.g. /lib64/udev, we hardcode the path
#
mkdir -p $RPM_BUILD_ROOT/lib/udev/rules.d
$RPM_BUILD_ROOT%{_libdir}/%{name}/print-camera-list udev-rules version 136 > $RPM_BUILD_ROOT/lib/udev/rules.d/40-libgphoto2.rules
popd

rm -rf %{buildroot}%{_libdir}/libgphoto2/*/*a
rm -rf %{buildroot}%{_libdir}/libgphoto2_port/*/*a
rm -rf %{buildroot}%{_libdir}/*.a
rm -rf %{buildroot}%{_libdir}/*.la

%find_lang %{name}-6
%find_lang %{name}_port-10
cat libgphoto2*.lang >> %{name}.lang

%clean
rm -rf "${RPM_BUILD_ROOT}"

%files -f %{name}.lang
%defattr(-,root,root)
%doc AUTHORS COPYING README NEWS
%dir %{_libdir}/libgphoto2_port
%dir %{_libdir}/libgphoto2_port/*
%dir %{_libdir}/libgphoto2
%dir %{_libdir}/libgphoto2/*
%{_libdir}/libgphoto2_port/*/*.so
%{_libdir}/libgphoto2/*/*.so
%{_libdir}/*.so.*
%{_datadir}/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi
/lib/udev/rules.d/40-libgphoto2.rules
/lib/udev/check-ptp-camera

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files devel
%defattr(-,root,root)
%doc %{_docdir}/%{name}
%{_datadir}/libgphoto2
%{_bindir}/gphoto2-config*
%{_bindir}/gphoto2-port-config
%{_includedir}/gphoto2
%{_libdir}/*.so
%{_libdir}/pkgconfig/*
%{_mandir}/man3/*


%changelog
* Fri Jan 11 2013 IWAI, Masaharu <iwai@alib.jp> 2.5.0-1
- update to 2.5.0
- drop MAX_ENTRIES patch (Patch4): obsolete
- update libusb version: 0.1.5 -> 0.1.6a
- add BuildRequires: libusb1-devel
- add Requires: libusb1
- add Vendor and Distribution tags

* Fri Jun 10 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 2.4.11-2
- add BR: dbus-devel, gd-devel
- add --without-hal

* Fri Jun 10 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 2.4.11-1
- update to 2.4.11
- install udev script to /lib/udev
- add udev rules

* Thu Sep 23 2010 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.4.5-2
- rebuild with rpm-4.8.1 for pkg-config file

* Wed Apr 15 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 2.4.5-1
- new upstream release
- build with libtool-2.2.6a

* Sat Mar  7 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.4.4-1
- new upstream release
- dropped Patch6
- changed Group to System Environment/Libraries
- added BuildRequires: popt-devel instead of popt
- added BuildRequires: cvs

* Thu Jul 03 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 2.4.1-1
- initial build for Vine Linux

* Fri Jun 20 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 2.4.1-5
- fix pkgcfg patch to match actual .pc file names (fixes kdegraphics build)

* Thu Jun 12 2008 Jindrich Novy <jnovy@redhat.com> 2.4.1-3
- libgphoto2-devel requires libusb-devel and libexif-devel for
  pkgconfig

* Wed Jun 04 2008 Jindrich Novy <jnovy@redhat.com> 2.4.1-2
- fix obsoletes
- workaround problem with coreutils-6.12 and RHEL5-xen kernels
  what prevents libgphoto2 koji build

* Mon Jun 02 2008 Jindrich Novy <jnovy@redhat.com> 2.4.1-1
- update to 2.4.1 (#443515, #436138)

* Thu May 29 2008 Stepan Kasal <skasal@redhat.com> 2.4.0-3
- drop gphoto2-norpath.patch
- use quoted here-document in %%prep
- fix some typos in m4 sources
- run autoreconf to get autotools right

* Mon Apr 21 2008 Jindrich Novy <jnovy@redhat.com> 2.4.0-2
- apply patch to fix build with libusb

* Fri Apr 18 2008 Jindrich Novy <jnovy@redhat.com> 2.4.0-1
- backport patch from upstream to avoid segfault when
  data phase is skipped for certain devices (#435413)
- initial build

* Mon Apr 14 2008 Jindrich Novy <jnovy@redhat.com> 2.4.0-0.2
- review fixes, thanks to Hans de Goede: (#437285)
  - remove unused macro
  - don't exclude s390/s390x
  - preserve timestamps
  - fix license

* Thu Mar 13 2008 Jindrich Novy <jnovy@redhat.com> 2.4.0-0.1
- initial libgphoto2 packaging
