lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

Makefile (12596B)


      1 #
      2 # Copyright (C) 2006-2016 OpenWrt.org
      3 #
      4 # This is free software, licensed under the GNU General Public License v2.
      5 # See /LICENSE for more information.
      6 #
      7 # No copyright by Harald Geyer as filling in a template doesn't constitute
      8 # an original work in the sense of copyright law.
      9 
     10 include $(TOPDIR)/rules.mk
     11 
     12 PKG_MAINTAINER:=Harald Geyer <harald@ccbib.org>
     13 
     14 PKG_NAME:=elektra
     15 PKG_LICENSE:=BSD-3-Clause
     16 PKG_LICENSE_FILES:=doc/COPYING
     17 PKG_VERSION:=0.8.19
     18 PKG_RELEASE:=1
     19 
     20 # Use this for official releasees
     21 PKG_MD5SUM:=6669e765c834e259fb7570f126b85d7e
     22 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
     23 PKG_SOURCE_URL:=http://ftp.libelektra.org/ftp/elektra/releases
     24 
     25 # Use this to test versions still under development
     26 #PKG_SOURCE_PROTO:=git
     27 #PKG_SOURCE_URL:=https://github.com/ElektraInitiative/libelektra.git
     28 #PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
     29 #PKG_SOURCE_VERSION:=e97efb29a94f3a49cb952d06552fcf53708ea8c7
     30 #PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
     31 
     32 PKG_BUILD_DEPENDS:=elektra/host swig/host
     33 
     34 include $(INCLUDE_DIR)/package.mk
     35 include $(INCLUDE_DIR)/host-build.mk
     36 include $(INCLUDE_DIR)/cmake.mk
     37 
     38 define Package/libelektra/Default
     39   SECTION:=libs
     40   CATEGORY:=Libraries
     41   TITLE:=Elektra
     42   URL:=http://www.libelektra.org/
     43   SUBMENU:=libelektra
     44 endef
     45 
     46 define Package/libelektra/Default-description
     47 Elektra provides an universal and secure framework to store
     48 configuration parameters in a global, hierarchical key database.
     49 endef
     50 
     51 define Package/libelektra-core
     52   $(call Package/libelektra/Default)
     53   TITLE:=Elektra core library
     54   DEPENDS:=+libpthread
     55 endef
     56 
     57 define Package/libelektra-core/description
     58 $(call Package/libelektra/Default-description)
     59 
     60 This package contains the core libraries, that all other parts of
     61 elektra and all programs using elektra depend on, and an almost
     62 minimal set of plugins to be actually useful.
     63 endef
     64 
     65 define Package/elektra-kdb
     66   SECTION:=utils
     67   CATEGORY:=Utilities
     68   TITLE:=Elektra kdb tool
     69   URL:=http://www.libelektra.org/
     70   DEPENDS:=+libelektra-core +libstdcpp
     71 endef
     72 
     73 define Package/elektra-kdb/description
     74 $(call Package/libelektra/Default-description)
     75 
     76 This package contains the kdb tool, which allows to access and change
     77 the content of the key database from the shell.
     78 endef
     79 
     80 define Package/libelektra-resolvers
     81   $(call Package/libelektra/Default)
     82   TITLE:=Elektra additional resolvers
     83   DEPENDS:=+libelektra-core +libpthread
     84 endef
     85 
     86 define Package/libelektra-resolvers/description
     87 $(call Package/libelektra/Default-description)
     88 
     89 This package contains additional resolvers not included in the
     90 libelektra-core package. Usually there is no reason to install this.
     91 endef
     92 
     93 define Package/libelektra-plugins
     94   $(call Package/libelektra/Default)
     95   TITLE:=Useful elektra plugins
     96   DEPENDS:=+libelektra-core
     97 endef
     98 
     99 define CONTENT_ELEKTRA_PLUGINS_TEXT
    100 base64 boolean cachefilter ccode conditionals csvstorage
    101 enum filecheck glob hexcode hidden hosts iconv keytometa
    102 line lineendings list mathcheck network null path profile
    103 shell syslog uname validation
    104 endef
    105 
    106 CONTENT_ELEKTRA_PLUGINS = $(strip $(CONTENT_ELEKTRA_PLUGINS_TEXT))
    107 
    108 define Package/libelektra-plugins/description
    109 $(call Package/libelektra/Default-description)
    110 
    111 This package contains plugins for various common configuration file
    112 format and optional features without heavy dependencies. Currently
    113 these plugins are included:
    114 $(CONTENT_ELEKTRA_PLUGINS_TEXT)
    115 endef
    116 
    117 define Package/libelektra-cpp
    118   $(call Package/libelektra/Default)
    119   TITLE:=Elektra plugins depending on libstdcpp
    120   DEPENDS:=+libelektra-core +libstdcpp
    121 endef
    122 
    123 CONTENT_ELEKTRA_CPP=dump regexstore struct type
    124 
    125 define Package/libelektra-cpp/description
    126 $(call Package/libelektra/Default-description)
    127 
    128 This package contains plugins written in C++.
    129 Currently these are:
    130 $(CONTENT_ELEKTRA_CPP)
    131 endef
    132 
    133 define Package/libelektra-boost
    134   $(call Package/libelektra/Default)
    135   TITLE:=Elektra plugins depending on boost
    136   DEPENDS:=+libelektra-core +libstdcpp +boost
    137 endef
    138 
    139 define Package/libelektra-boost/description
    140 $(call Package/libelektra/Default-description)
    141 
    142 This package contains plugins written in C++ with an dependency on
    143 boost. Currently this is a plugin for a tcl like format.
    144 endef
    145 
    146 define Package/libelektra-crypto
    147   $(call Package/libelektra/Default)
    148   TITLE:=Elektra crypto plugin
    149   DEPENDS:=+libelektra-core +libopenssl
    150 endef
    151 
    152 define Package/libelektra-crypto/description
    153 $(call Package/libelektra/Default-description)
    154 
    155 This package contains support for encrypting values before storage.
    156 endef
    157 
    158 define Package/libelektra-curlget
    159   $(call Package/libelektra/Default)
    160   TITLE:=Elektra curlget plugin
    161   DEPENDS:=+libelektra-core +libcurl
    162 endef
    163 
    164 define Package/libelektra-curlget/description
    165 $(call Package/libelektra/Default-description)
    166 
    167 This plugin can get configuration data from remote URLs before access.
    168 endef
    169 
    170 define Package/libelektra-dbus
    171   $(call Package/libelektra/Default)
    172   TITLE:=Elektra dbus plugin
    173   DEPENDS:=+libelektra-core +libdbus
    174 endef
    175 
    176 define Package/libelektra-dbus/description
    177 $(call Package/libelektra/Default-description)
    178 
    179 This package contains support for dbus notification on configuration
    180 changes.
    181 endef
    182 
    183 define Package/libelektra-xml
    184   $(call Package/libelektra/Default)
    185   TITLE:=Elektra xmltool plugin
    186   DEPENDS:=+libelektra-core +libxml2
    187 endef
    188 
    189 define Package/libelektra-xml/description
    190 $(call Package/libelektra/Default-description)
    191 
    192 This package contains a plugin for storing data with xml syntax.
    193 endef
    194 
    195 define Package/libelektra-yajl
    196   $(call Package/libelektra/Default)
    197   TITLE:=Elektra yajl (json) plugin
    198   DEPENDS:=+libelektra-core +yajl
    199 endef
    200 
    201 define Package/libelektra-yajl/description
    202 $(call Package/libelektra/Default-description)
    203 
    204 This package contains support for storing the key database as json files.
    205 endef
    206 
    207 define Package/libelektra-python2
    208   $(call Package/libelektra/Default)
    209   TITLE:=Elektra python2 plugin
    210   DEPENDS:=+libelektra-core +python-light +libstdcpp
    211 endef
    212 
    213 define Package/libelektra-python2/description
    214 $(call Package/libelektra/Default-description)
    215 
    216 This package adds python2 support to elektra.
    217 endef
    218 
    219 define Package/libelektra-python3
    220   $(call Package/libelektra/Default)
    221   TITLE:=Elektra python3 plugin
    222   DEPENDS:=+libelektra-core +python3-light +libstdcpp
    223 endef
    224 
    225 define Package/libelektra-python3/description
    226 $(call Package/libelektra/Default-description)
    227 
    228 This package adds python3 support to elektra.
    229 endef
    230 
    231 define Package/libelektra-lua
    232   $(call Package/libelektra/Default)
    233   TITLE:=Elektra lua plugin
    234   DEPENDS:=+libelektra-core +lua +libstdcpp
    235 endef
    236 
    237 define Package/libelektra-lua/description
    238 $(call Package/libelektra/Default-description)
    239 
    240 This package adds lua support to elektra.
    241 endef
    242 
    243 define Package/libelektra-extra
    244   $(call Package/libelektra/Default)
    245   TITLE:=Additional elektra plugins
    246   DEPENDS:=+libelektra-core +libstdcpp
    247 endef
    248 
    249 define CONTENT_EXTRA_PLUGINS_TEXT
    250 blockresolver c constants counter desktop dpkg error
    251 fcrypt fstab logchange mozprefs passwd rename required
    252 simplespeclang timeofday tracer
    253 endef
    254 
    255 CONTENT_ELEKTRA_EXTRA:=$(strip $(CONTENT_EXTRA_PLUGINS_TEXT))
    256 
    257 define Package/libelektra-extra/description
    258 $(call Package/libelektra/Default-description)
    259 
    260 This package contains extra plugins that are only useful for debugging
    261 or as an example of what can be done. Also most experimental plugins
    262 are included in this package. Currently this includes:
    263 $(CONTENT_EXTRA_PLUGINS_TEXT)
    264 endef
    265 
    266 CMAKE_OPTIONS = \
    267 	-DTARGET_PLUGIN_FOLDER="" \
    268 	-DBUILD_FULL=OFF \
    269 	-DBUILD_STATIC=OFF \
    270 	-DBUILD_DOCUMENTATION=OFF \
    271 	-DFORCE_IN_SOURCE_BUILD=ON \
    272 	-DBUILD_TESTING=OFF \
    273 	-DKDB_DEFAULT_RESOLVER=resolver_fm_pb_b \
    274 	-DKDB_DEFAULT_STORAGE=ini \
    275 	-DENABLE_OPTIMIZATIONS=OFF \
    276 	-DPLUGINS="ALL"
    277 
    278 CMAKE_HOST_OPTIONS = \
    279 	-DCMAKE_SKIP_RPATH=FALSE \
    280 	-DCMAKE_INSTALL_RPATH=$(STAGING_DIR_HOST)/lib/ \
    281 	-DINSTALL_BUILD_TOOLS=ON \
    282 	-DBUILD_STATIC=OFF \
    283 	-DBUILD_DOCUMENTATION=OFF \
    284 	-DINSTALL_SYSTEM_FILES=OFF \
    285 	-DFORCE_IN_SOURCE_BUILD=ON \
    286 	-DBUILD_TESTING=OFF \
    287 	-DPLUGINS="ALL;-python2;-python" \
    288 	-DTOOLS="gen;kdb"
    289 
    290 define Package/libelektra-core/install
    291 	$(INSTALL_DIR) $(1)/etc/kdb/
    292 	$(INSTALL_DIR) $(1)/usr/lib/
    293 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra.so* $(1)/usr/lib/
    294 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-core.so* $(1)/usr/lib/
    295 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-ease.so* $(1)/usr/lib/
    296 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-kdb.so* $(1)/usr/lib/
    297 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-meta.so* $(1)/usr/lib/
    298 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-plugin.so* $(1)/usr/lib/
    299 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-proposal.so* $(1)/usr/lib/
    300 	#The next is only supported with glibc, so skip it.
    301 	#$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektraintercept-* $(1)/usr/lib/
    302 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-resolver_fm_pb_b.so $(1)/usr/lib/
    303 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-ni.so $(1)/usr/lib/
    304 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-ini.so $(1)/usr/lib/
    305 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-sync.so $(1)/usr/lib/
    306 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-storage.so $(1)/usr/lib/
    307 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-resolver.so $(1)/usr/lib/
    308 endef
    309 
    310 define Package/elektra-kdb/install
    311 	$(INSTALL_DIR) $(1)/usr/bin/
    312 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kdb $(1)/usr/bin
    313 	$(INSTALL_DIR) $(1)/usr/lib/elektra/
    314 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektratools* $(1)/usr/lib/
    315 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/elektra/tool_exec/ $(1)/usr/lib/elektra/
    316 endef
    317 
    318 define Package/libelektra-resolvers/install
    319 	$(INSTALL_DIR) $(1)/usr/lib/
    320 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-resolver_* $(1)/usr/lib/
    321 	rm -f $(1)/usr/lib/libelektra-resolver_fm_pb_b.so
    322 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-wresolver.so $(1)/usr/lib/
    323 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-noresolver.so $(1)/usr/lib/
    324 endef
    325 
    326 define Package/libelektra-plugins/install
    327 	$(INSTALL_DIR) $(1)/usr/lib/
    328 	$(CP) $(foreach plugin,$(CONTENT_ELEKTRA_PLUGINS),$(PKG_INSTALL_DIR)/usr/lib/libelektra-$(plugin).so) $(1)/usr/lib/
    329 endef
    330 
    331 define Package/libelektra-boost/install
    332 	$(INSTALL_DIR) $(1)/usr/lib/
    333 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-tcl.so $(1)/usr/lib/
    334 endef
    335 
    336 define Package/libelektra-cpp/install
    337 	$(INSTALL_DIR) $(1)/usr/lib/
    338 	$(CP) $(foreach plugin,$(CONTENT_ELEKTRA_CPP),$(PKG_INSTALL_DIR)/usr/lib/libelektra-$(plugin).so) $(1)/usr/lib/
    339 endef
    340 
    341 define Package/libelektra-crypto/install
    342 	$(INSTALL_DIR) $(1)/usr/lib/
    343 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-crypto_openssl.so $(1)/usr/lib/
    344 endef
    345 
    346 define Package/libelektra-curlget/install
    347 	$(INSTALL_DIR) $(1)/usr/lib/
    348 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-curlget.so $(1)/usr/lib/
    349 endef
    350 
    351 define Package/libelektra-dbus/install
    352 	$(INSTALL_DIR) $(1)/usr/lib/
    353 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-dbus.so $(1)/usr/lib/
    354 endef
    355 
    356 define Package/libelektra-xml/install
    357 	$(INSTALL_DIR) $(1)/usr/lib/
    358 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-xmltool.so $(1)/usr/lib/
    359 endef
    360 
    361 define Package/libelektra-yajl/install
    362 	$(INSTALL_DIR) $(1)/usr/lib/
    363 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-yajl.so $(1)/usr/lib/
    364 endef
    365 
    366 define Package/libelektra-python2/install
    367 	$(INSTALL_DIR) $(1)/usr/lib/
    368 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-python2.so $(1)/usr/lib/
    369 endef
    370 
    371 define Package/libelektra-python3/install
    372 	$(INSTALL_DIR) $(1)/usr/lib/
    373 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-python.so $(1)/usr/lib/
    374 endef
    375 
    376 define Package/libelektra-lua/install
    377 	$(INSTALL_DIR) $(1)/usr/lib/
    378 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libelektra-lua.so $(1)/usr/lib/
    379 endef
    380 
    381 define Package/libelektra-extra/install
    382 	$(INSTALL_DIR) $(1)/usr/lib/
    383 	$(CP) $(foreach plugin,$(CONTENT_ELEKTRA_EXTRA),$(PKG_INSTALL_DIR)/usr/lib/libelektra-$(plugin).so) $(1)/usr/lib/
    384 endef
    385 
    386 define Build/InstallDev
    387 	$(INSTALL_DIR) $(1)/usr/include/elektra/
    388 	$(CP) $(PKG_INSTALL_DIR)/usr/include/elektra/* $(1)/usr/include/elektra/
    389 	$(INSTALL_DIR) $(1)/usr/lib/
    390 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
    391 endef
    392 
    393 
    394 $(eval $(call HostBuild))
    395 $(eval $(call BuildPackage,libelektra-core))
    396 $(eval $(call BuildPackage,elektra-kdb))
    397 $(eval $(call BuildPackage,libelektra-resolvers))
    398 $(eval $(call BuildPackage,libelektra-plugins))
    399 $(eval $(call BuildPackage,libelektra-boost))
    400 $(eval $(call BuildPackage,libelektra-cpp))
    401 $(eval $(call BuildPackage,libelektra-curlget))
    402 $(eval $(call BuildPackage,libelektra-crypto))
    403 $(eval $(call BuildPackage,libelektra-dbus))
    404 $(eval $(call BuildPackage,libelektra-xml))
    405 $(eval $(call BuildPackage,libelektra-yajl))
    406 $(eval $(call BuildPackage,libelektra-python2))
    407 $(eval $(call BuildPackage,libelektra-python3))
    408 $(eval $(call BuildPackage,libelektra-lua))
    409 $(eval $(call BuildPackage,libelektra-extra))