aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2015-05-30 23:08:32 +0200
committerDaniel Golle <daniel@makrotopia.org>2015-05-30 23:28:39 +0200
commita0524dbaefb6946d5bab2628045c5f021c681cf8 (patch)
tree9c4c2310837d484c3692ac2ba0b3d73cb4679901
parent5244681f2d59a5cf4504f7bf7340094c0c1a7c62 (diff)
libextractor: add new package
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r--libs/libextractor/Makefile138
1 files changed, 138 insertions, 0 deletions
diff --git a/libs/libextractor/Makefile b/libs/libextractor/Makefile
new file mode 100644
index 000000000..2caaa1b3f
--- /dev/null
+++ b/libs/libextractor/Makefile
@@ -0,0 +1,138 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# 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.3
+PKG_RELEASE:=$(PKG_SOURCE_VERSION)
+
+# ToDo:
+# - package missing optional dependencies: libexiv2, giflib, gsf, librpm, smf, tidy
+# - fix gstreamer-0.10 bindings
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
+PKG_MD5SUM:=35b8913dbebafe583a2781bf71509c48
+
+PKG_LICENSE:=GPL-3.0
+PKG_LICENSE_FILES:=COPYING
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_INSTALL:=1
+
+PLUGINS:= \
+ archive:+libarchive \
+ deb \
+ dvi \
+ flac:+libflac \
+ it \
+ jpeg:+libjpeg \
+ man \
+ mime:+libmagic \
+ mpeg:+libmpeg2 \
+ nsf \
+ nsfe \
+ odf \
+ ogg:+libvorbis \
+ png \
+ ps \
+ riff \
+ s3m \
+ sid \
+ thumbnailffmpeg:+libffmpeg-full:+libmagic \
+ tiff:+libtiff \
+ wav \
+ xm \
+ zip
+
+
+include $(INCLUDE_DIR)/package.mk
+
+CONFIGURE_ARGS += \
+ --enable-ffmpeg \
+ --without-gstreamer \
+ --without-gtk \
+ --disable-gsf \
+ --disable-rpath
+
+define Package/libextractor
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=GNU Libextractor
+ URL:=https://www.gnu.org/software/libextractor/
+ DEPENDS:=+libbz2 +libltdl +librt +zlib
+ 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))