ddccc886132e5b51a62b293bb2be38f0ff210648
[feed/packages.git] / libs / libextractor / Makefile
1 #
2 # Copyright (C) 2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=libextractor
11 PKG_VERSION:=1.3
12 PKG_RELEASE:=3
13
14 # ToDo:
15 # - package missing optional dependencies: libexiv2, gsf, librpm, smf, tidy
16
17 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
18 PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
19 PKG_MD5SUM:=35b8913dbebafe583a2781bf71509c48
20
21 PKG_LICENSE:=GPL-3.0
22 PKG_LICENSE_FILES:=COPYING
23 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
24
25 PKG_INSTALL:=1
26 PKG_FIXUP:=autoreconf
27
28 PLUGINS:= \
29 archive:+libarchive-noopenssl \
30 deb \
31 dvi \
32 flac:+libflac \
33 gif:+giflib \
34 gstreamer:+libgstreamer1:+libgst1app:+libgst1pbutils:+libgst1tag \
35 it \
36 jpeg:+libjpeg \
37 man \
38 mime:+libmagic \
39 mpeg:+libmpeg2 \
40 nsf \
41 nsfe \
42 odf \
43 ogg:+libvorbis \
44 png \
45 ps \
46 riff \
47 s3m \
48 sid \
49 thumbnailffmpeg:+libffmpeg-full:+libmagic \
50 tiff:+libtiff \
51 wav \
52 xm \
53 zip
54
55
56 include $(INCLUDE_DIR)/package.mk
57 include $(INCLUDE_DIR)/nls.mk
58
59 CONFIGURE_ARGS += \
60 --enable-ffmpeg \
61 --with-gstreamer \
62 --disable-gsf \
63 --disable-rpath
64
65 define Package/libextractor
66 SECTION:=libs
67 CATEGORY:=Libraries
68 TITLE:=GNU Libextractor
69 URL:=https://www.gnu.org/software/libextractor/
70 DEPENDS:=+libbz2 +libltdl +librt +zlib $(ICONV_DEPENDS) $(INTL_DEPENDS)
71 MENU:=1
72 endef
73
74 define Package/libextractor/description
75 GNU Libextractor is a library used to extract meta data from files.
76 The goal is to provide developers of file-sharing networks, browsers or
77 WWW-indexing bots with a universal library to obtain simple keywords and meta
78 data to match against queries and to show to users instead of only relying on
79 filenames.
80 endef
81
82 define PluginGen
83 define Package/libextractor-plugin-$(subst _,-,$(firstword $(subst :, ,$(1))))
84 SECTION:=libs
85 CATEGORY:=Libraries
86 TITLE:=GNU Libextractor ($(firstword $(subst :, ,$(1))) plugin)
87 URL:=https://www.gnu.org/software/libextractor/
88 DEPENDS:=libextractor $(wordlist 2,$(words $(subst :, ,$(1))),$(subst :, ,$(1)))
89 endef
90 endef
91
92 $(foreach file,$(PLUGINS),$(eval $(call PluginGen,$(file))))
93
94 define Package/extract
95 SECTION:=utils
96 CATEGORY:=Utilities
97 TITLE:=extract util from GNU Libextractor
98 URL:=https://www.gnu.org/software/libextractor/
99 DEPENDS:=+libextractor
100 endef
101
102 define Package/extract/description
103 libextractor contains the shell command extract that, similar to the
104 well-known file command, can extract meta data from a file an print the results
105 to stdout.
106 endef
107
108 define Build/InstallDev
109 $(INSTALL_DIR) $(1)/usr/include/
110 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
111 $(INSTALL_DIR) $(1)/usr/lib/
112 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} $(1)/usr/lib/
113 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig/
114 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
115 endef
116
117 define Package/libextractor/install
118 $(INSTALL_DIR) $(1)/usr/lib/
119 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
120 endef
121
122 define PluginInstall
123 define Package/libextractor-plugin-$(subst _,-,$(firstword $(subst :, ,$(1))))/install
124 $(INSTALL_DIR) $$(1)/usr/lib/libextractor
125 $(INSTALL_BIN) \
126 $(PKG_INSTALL_DIR)/usr/lib/libextractor/libextractor_$(firstword $(subst :, ,$(1))).so \
127 $$(1)/usr/lib/libextractor
128 endef
129 endef
130
131 define Package/extract/install
132 $(INSTALL_DIR) $(1)/usr/bin
133 $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
134 endef
135
136 $(foreach file,$(PLUGINS),$(eval $(call PluginInstall,$(file))))
137
138 $(eval $(call BuildPackage,libextractor))
139 $(foreach file,$(PLUGINS),$(eval $(call BuildPackage,libextractor-plugin-$(subst _,-,$(firstword $(subst :, ,$(file)))))))
140 $(eval $(call BuildPackage,extract))