-#
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=libgphoto2
-PKG_VERSION:=2.2.1
+PKG_VERSION:=2.4.12
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/gphoto
-PKG_MD5SUM:=69827311733e39fafa9f77bb05e55b77
-PKG_CAT:=bzcat
+PKG_MD5SUM:=735c50ebb15cb8be61bac400ee4afb1e
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_FIXUP:=autoreconf
+PKG_LIBTOOL_PATHS:=. libgphoto2_port
+PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-
+include $(INCLUDE_DIR)/nls.mk
define Package/libgphoto2/Default
SECTION:=libs
define Package/libgphoto2
$(call Package/libgphoto2/Default)
- DEPENDS:=+libusb +libexif +libjpeg +libpthread +libltdl
+ DEPENDS:=+libexif +libjpeg +libpthread +libltdl $(ICONV_DEPENDS)
TITLE:=The basic library of the gphoto2 program.
MENU:=1
endef
define Package/libgphoto2-drivers
$(call Package/libgphoto2/Default)
- DEPENDS:=libgphoto2
+ DEPENDS:=libgphoto2 +libusb-1.0 +libgd
TITLE:=Gphoto2 drivers for various cameras
endef
-define Build/Configure
- $(call Build/Configure/Default, \
- --enable-shared \
- --enable-static \
- --disable-rpath \
- --with-gnu-ld \
- --with-drivers=all \
- --without-included-ltdl \
- --without-libiconv-prefix \
- --without-libintl-prefix \
- , \
- LIBEXIF_CFLAGS="$$$$CPPFLAGS" \
- LIBEXIF_LIBS="$$$$LDFLAGS -lexif" \
- LIBUSB_CFLAGS="$$$$CPPFLAGS" \
- LIBUSB_LIBS="$$$$LDFLAGS -lusb" \
- LIBS="-lltdl" \
- )
-endef
-
-define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) -j$(CONFIG_JLEVEL) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- LIBLTDL="" \
- all install
-endef
+CONFIGURE_ARGS += \
+ --enable-shared \
+ --enable-static \
+ --disable-rpath \
+ --with-drivers=all \
+ --without-included-ltdl \
+ --without-libiconv-prefix \
+ --without-libintl-prefix \
+
+CONFIGURE_VARS += \
+ CPPFLAGS="$$$$CPPFLAGS $(ICONV_CFLAGS)" \
+ LDFLAGS="$$$$LDFLAGS $(ICONV_LDFLAGS)" \
+ LIBEXIF_CFLAGS="$$$$CPPFLAGS" \
+ LIBEXIF_LIBS="$$$$LDFLAGS -lexif" \
+ LIBUSB_CFLAGS="$$$$CPPFLAGS" \
+ LIBUSB_LIBS="$$$$LDFLAGS -lusb" \
+ LIBS="-lltdl" \
+
+# If OpenWrt is using the iconv stub, we disable iconv support
+# in libgphoto2 entirely since the stub lacks some essential
+# conversions like UCS-2 to UTF-8 which will let certain drivers
+# fail with "Failed to create iconv converter" .
+ifneq ($(ICONV_FULL),1)
+ CONFIGURE_VARS += am_cv_func_iconv=no am_cv_lib_iconv=no
+endif
+
+MAKE_FLAGS += \
+ LIBLTDL="" \
+
+TARGET_CFLAGS += $(FPIC)
define Build/InstallDev
- mkdir -p $(STAGING_DIR)/usr/bin
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/gphoto2{,-port}-config $(STAGING_DIR)/usr/bin/
- mkdir -p $(STAGING_DIR)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/gphoto2 $(STAGING_DIR)/usr/include/
- mkdir -p $(STAGING_DIR)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port}.{a,so*} $(STAGING_DIR)/usr/lib/
- mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgphoto2.pc $(STAGING_DIR)/usr/lib/pkgconfig/
- $(SED) 's,-I$$$${prefix}/include/gphoto2,,g' $(STAGING_DIR)/usr/bin/gphoto2{,-port}-config
- $(SED) 's,-I$$$${prefix}/include,,g' $(STAGING_DIR)/usr/bin/gphoto2{,-port}-config
- $(SED) 's,-L$$$${exec_prefix}/lib,,g' $(STAGING_DIR)/usr/lib/pkgconfig/libgphoto2.pc
- $(SED) 's,-I$$$${includedir}/gphoto2,,g' $(STAGING_DIR)/usr/lib/pkgconfig/libgphoto2.pc
- $(SED) 's,-L$$$${libdir},,g' $(STAGING_DIR)/usr/lib/pkgconfig/libgphoto2.pc
-endef
-
-define Build/UninstallDev
- rm -rf $(STAGING_DIR)/usr/bin/gphoto2-config \
- $(STAGING_DIR)/usr/bin/gphoto2-port-config \
- $(STAGING_DIR)/usr/include/gphoto2* \
- $(STAGING_DIR)/usr/lib/libgphoto*.{a,so*}
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gphoto2{,-port}-config $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/gphoto2 $(1)/usr/include/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port}.{a,so*} $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgphoto2.pc $(1)/usr/lib/pkgconfig/
+ $(SED) 's,-I$$$${prefix}/include/gphoto2,,g' $(1)/usr/bin/gphoto2{,-port}-config
+ $(SED) 's,-I$$$${prefix}/include,,g' $(1)/usr/bin/gphoto2{,-port}-config
+ # remove annoying recursive symlink
+ rm -f $(1)/usr/include/gphoto2/gphoto2
endef
define Package/libgphoto2/install
- install -m0755 -d $(1)/usr/lib
+ $(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port}.so.* $(1)/usr/lib/
endef
define Package/libgphoto2-drivers/install
- install -d -m0755 $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgphoto2{,_port} $(1)/usr/lib/
rm -rf $(1)/usr/lib/libgphoto2{,_port}/*/*.{,l}a
+ rm -f $(1)/usr/lib/libgphoto2_port/*/usb.so
endef
$(eval $(call BuildPackage,libgphoto2))