# # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=libextractor PKG_VERSION:=1.13 PKG_RELEASE:=1 # ToDo: # - package missing optional dependencies: libexiv2, gsf, librpm, smf, tidy PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/$(PKG_NAME) PKG_HASH:=bb8f312c51d202572243f113c6b62d8210301ab30cbaee604f9837d878cdf755 PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=COPYING PKG_MAINTAINER:=Daniel Golle PKG_FIXUP:=autoreconf PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 PKG_CONFIG_DEPENDS:= \ CONFIG_PACKAGE_libextractor-plugin-gstreamer PLUGINS:= \ archive:+libarchive-noopenssl \ deb \ dvi \ flac:+libflac \ gif:+giflib \ gstreamer:+libgstreamer1:+gstreamer1-plugins-base:+libgst1app:+libgst1pbutils:+libgst1tag \ it \ jpeg:+libjpeg-turbo \ man \ mime:+libmagic \ mpeg:+libmpeg2 \ nsf \ nsfe \ odf \ ogg:+libvorbis \ png \ ps \ riff \ s3m \ sid \ tiff:+libtiff \ wav \ xm \ zip include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk CONFIGURE_ARGS += \ --disable-glibtest \ --disable-gsf \ --disable-rpath \ --with$(if $(CONFIG_PACKAGE_libextractor-plugin-gstreamer),,out)-gstreamer define Package/libextractor SECTION:=libs CATEGORY:=Libraries TITLE:=GNU Libextractor URL:=https://www.gnu.org/software/libextractor/ DEPENDS:=+libbz2 +libltdl +librt +zlib $(ICONV_DEPENDS) $(INTL_DEPENDS) MENU:=1 endef define Package/libextractor/description GNU Libextractor is a library used to extract meta data from files. The goal is to provide developers of file-sharing networks, browsers or WWW-indexing bots with a universal library to obtain simple keywords and meta data to match against queries and to show to users instead of only relying on filenames. endef define PluginGen define Package/libextractor-plugin-$(subst _,-,$(firstword $(subst :, ,$(1)))) SECTION:=libs CATEGORY:=Libraries TITLE:=GNU Libextractor ($(firstword $(subst :, ,$(1))) plugin) URL:=https://www.gnu.org/software/libextractor/ DEPENDS:=libextractor $(wordlist 2,$(words $(subst :, ,$(1))),$(subst :, ,$(1))) endef endef $(foreach file,$(PLUGINS),$(eval $(call PluginGen,$(file)))) define Package/extract SECTION:=utils CATEGORY:=Utilities TITLE:=extract util from GNU Libextractor URL:=https://www.gnu.org/software/libextractor/ DEPENDS:=+libextractor endef define Package/extract/description libextractor contains the shell command extract that, similar to the well-known file command, can extract meta data from a file an print the results to stdout. endef define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include/ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/ endef define Package/libextractor/install $(INSTALL_DIR) $(1)/usr/lib/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/ endef define PluginInstall define Package/libextractor-plugin-$(subst _,-,$(firstword $(subst :, ,$(1))))/install $(INSTALL_DIR) $$(1)/usr/lib/libextractor $(INSTALL_BIN) \ $(PKG_INSTALL_DIR)/usr/lib/libextractor/libextractor_$(firstword $(subst :, ,$(1))).so \ $$(1)/usr/lib/libextractor endef endef define Package/extract/install $(INSTALL_DIR) $(1)/usr/bin $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ endef $(foreach file,$(PLUGINS),$(eval $(call PluginInstall,$(file)))) $(eval $(call BuildPackage,libextractor)) $(foreach file,$(PLUGINS),$(eval $(call BuildPackage,libextractor-plugin-$(subst _,-,$(firstword $(subst :, ,$(file))))))) $(eval $(call BuildPackage,extract))