Merge pull request #2240 from ollie27/libpng
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 9 Jan 2016 12:50:02 +0000 (13:50 +0100)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 9 Jan 2016 12:50:02 +0000 (13:50 +0100)
libpng: update to 1.2.56

102 files changed:
devel/automake/Makefile [new file with mode: 0644]
devel/pkg-config/Makefile [new file with mode: 0644]
lang/luasec/Makefile
lang/php5/Makefile
lang/python-cffi/Makefile
lang/python-cryptography/Makefile [new file with mode: 0644]
lang/python-enum34/Makefile
lang/python-ply/Makefile
lang/python-pycparser/Makefile
lang/python-pyopenssl/Makefile [new file with mode: 0644]
lang/python-pyopenssl/patches/001-omit-tests.patch [new file with mode: 0644]
lang/python-setuptools/Makefile
lang/python/Makefile
lang/python/files/python-host.mk
lang/ruby/Makefile
libs/avahi/patches/011-fix-poll-h-warnings-on-musl.patch [new file with mode: 0644]
libs/libev/Makefile
libs/libsodium/Makefile
libs/libsoup/Makefile
libs/openldap/Makefile
libs/zmq/Makefile
libs/zmq/patches/010-disable_pedantic_on_linux_with_ulibc++.patch
libs/zmq/patches/020-map_with_const_string_with_ublic++.patch
libs/zmq/patches/030-streamoff_missing_with_ulibc++.patch
libs/zmq/patches/040-fix_GNUC_conditional_for_GCC5.patch [new file with mode: 0644]
libs/zmq/patches/100-fix-cxx-include-order.patch
multimedia/ffmpeg/Makefile
multimedia/grilo-plugins/Makefile
multimedia/grilo/Makefile
multimedia/grilo/files/grilo-0.3.vapi [new file with mode: 0644]
multimedia/grilo/files/grilo-net-0.3.vapi [new file with mode: 0644]
multimedia/gst1-libav/Makefile
multimedia/gst1-plugins-bad/Makefile
multimedia/gst1-plugins-bad/patches/000-gettext.patch [deleted file]
multimedia/gst1-plugins-bad/patches/001-no-translations.patch [new file with mode: 0644]
multimedia/gst1-plugins-bad/patches/002-no-tests.patch [new file with mode: 0644]
multimedia/gst1-plugins-base/Makefile
multimedia/gst1-plugins-base/patches/001-no-translations.patch [new file with mode: 0644]
multimedia/gst1-plugins-base/patches/001-no_docs.patch [deleted file]
multimedia/gst1-plugins-base/patches/002-no-tests.patch [new file with mode: 0644]
multimedia/gst1-plugins-base/patches/002-no_tests.patch [deleted file]
multimedia/gst1-plugins-base/patches/003-no-docs.patch [new file with mode: 0644]
multimedia/gst1-plugins-base/patches/003-no_translations.patch [deleted file]
multimedia/gst1-plugins-good/Makefile
multimedia/gst1-plugins-good/patches/001-no-translations.patch [new file with mode: 0644]
multimedia/gst1-plugins-good/patches/001-no_docs.patch [deleted file]
multimedia/gst1-plugins-good/patches/002-no-tests.patch [new file with mode: 0644]
multimedia/gst1-plugins-good/patches/002-no_tests.patch [deleted file]
multimedia/gst1-plugins-good/patches/003-no-docs.patch [new file with mode: 0644]
multimedia/gst1-plugins-good/patches/003-no_translations.patch [deleted file]
multimedia/gst1-plugins-ugly/Makefile
multimedia/gst1-plugins-ugly/patches/001-no-translations.patch [new file with mode: 0644]
multimedia/gst1-plugins-ugly/patches/001-no_docs.patch [deleted file]
multimedia/gst1-plugins-ugly/patches/002-no-tests.patch [new file with mode: 0644]
multimedia/gst1-plugins-ugly/patches/002-no_tests.patch [deleted file]
multimedia/gst1-plugins-ugly/patches/003-no-docs.patch [new file with mode: 0644]
multimedia/gst1-plugins-ugly/patches/003-no_translations.patch [deleted file]
multimedia/gstreamer1/Makefile
multimedia/gstreamer1/patches/001-no-translations.patch [new file with mode: 0644]
multimedia/gstreamer1/patches/001-no_docs.patch [deleted file]
multimedia/gstreamer1/patches/002-no-tests.patch [new file with mode: 0644]
multimedia/gstreamer1/patches/002-no_tests.patch [deleted file]
multimedia/gstreamer1/patches/003-no-docs.patch [new file with mode: 0644]
multimedia/gstreamer1/patches/003-no_translations.patch [deleted file]
multimedia/gstreamer1/patches/010-gstplugin-use-lazy-symbol-binding.patch [new file with mode: 0644]
multimedia/gstreamer1/patches/010-gstplugin_use_lazy_symbol_binding.patch [deleted file]
net/freeradius2/Makefile
net/knxd/Makefile
net/knxd/files/knxd.config
net/knxd/files/knxd.init
net/krb5/Makefile
net/krb5/patches/001-fix-build.patch [deleted file]
net/krb5/patches/001-fix-uninitialized-warning-errors.patch [new file with mode: 0644]
net/krb5/patches/002-fix-uninitialized-warning-error.patch [deleted file]
net/lighttpd/Makefile
net/ocserv/Makefile
net/ocserv/patches/0001-don-t-attempt-to-open-per_user_dir-if-it-is-NULL.patch [new file with mode: 0644]
net/openvswitch/Makefile
net/openvswitch/patches/0003-datapath-do-not-add-vlan_hwaccel_push_inside-for-ker.patch [deleted file]
net/openvswitch/patches/0005-datapath-Add-net-ip6_checksum.h-to-stt.c.patch [deleted file]
net/openvswitch/patches/0006-force-kernel-4-1.patch [deleted file]
net/openvswitch/patches/0007-add-netns-compat.patch [deleted file]
net/openvswitch/patches/0009-fix-test-ovn.patch [new file with mode: 0644]
net/openvswitch/patches/0010-patch-nf_ip_hook-4.1.patch [deleted file]
net/openvswitch/patches/0011-fix-vxlan-xmit-skb-4.1.patch [deleted file]
net/openvswitch/patches/0012-fix-vport-lisp-4.1.patch [deleted file]
net/privoxy/Makefile
net/privoxy/files/privoxy.init
net/radicale/Makefile
net/radicale/files/radicale.config
net/radicale/files/radicale.hotplug
net/radicale/files/radicale.init
net/rsync/Makefile
net/rsync/patches/000-CVE-2014-9512.patch [deleted file]
net/scapy/Makefile
net/znc/Makefile
sound/forked-daapd/Makefile
sound/forked-daapd/patches/010-include_pregen.patch
sound/mpg123/Makefile
utils/evtest/Makefile [new file with mode: 0644]
utils/gnupg/Makefile
utils/sane-backends/Makefile

diff --git a/devel/automake/Makefile b/devel/automake/Makefile
new file mode 100644 (file)
index 0000000..562ea8d
--- /dev/null
@@ -0,0 +1,61 @@
+#
+# 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:=automake
+PKG_VERSION:=1.15
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=@GNU/automake
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_MD5SUM:=716946a105ca228ab545fc37a70df3a3
+PKG_MAINTAINER:=Heinrich Schuchardt <xypron.glpk@gmx.de>
+PKG_LICENSE:=GPL-3.0+
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/automake
+  SECTION:=devel
+  CATEGORY:=Development
+  TITLE:=automake
+  URL:=https://www.gnu.org/software/automake/
+  DEPENDS:=+autoconf +perlbase-thread +perlbase-attributes
+endef
+
+define Package/automake/description
+  Automake is a tool for automatically generating Makefile.in files compliant
+  with the GNU Coding Standards.
+endef
+
+define Package/automake/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/automake-$(PKG_VERSION) \
+         $(1)/usr/bin/automake
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aclocal-$(PKG_VERSION) \
+         $(1)/usr/bin/aclocal
+       $(SED) 's|$(STAGING_DIR_HOST)|/usr|g' $(1)/usr/bin/automake
+       $(SED) 's|$(STAGING_DIR_HOST)|/usr|g' $(1)/usr/bin/aclocal
+       $(INSTALL_DIR) $(1)/usr/share/automake-$(PKG_VERSION)
+
+       for dir in \
+         automake-$(PKG_VERSION) automake-$(PKG_VERSION)/Automake \
+         automake-$(PKG_VERSION)/am aclocal \
+         aclocal-$(PKG_VERSION) aclocal-$(PKG_VERSION)/internal \
+       ; do \
+               $(INSTALL_DIR) $(1)/usr/share/$$$$dir; \
+               for file in $$$$(cd $(PKG_INSTALL_DIR) && \
+                 find usr/share/$$$$dir -maxdepth 1 -type f); do \
+                       $(INSTALL_DATA) $$(PKG_INSTALL_DIR)/$$$$file \
+                       $(1)/$$$$file; \
+               done; \
+       done
+endef
+
+$(eval $(call BuildPackage,automake))
diff --git a/devel/pkg-config/Makefile b/devel/pkg-config/Makefile
new file mode 100644 (file)
index 0000000..36abc5d
--- /dev/null
@@ -0,0 +1,49 @@
+#
+# Copyright (C) 2015-2016 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:=pkg-config
+PKG_VERSION:=0.29
+PKG_RELEASE:=2
+
+PKG_SOURCE_URL:=http://pkgconfig.freedesktop.org/releases/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_MD5SUM:=77f27dce7ef88d0634d0d6f90e03a77f
+PKG_MAINTAINER:=Heinrich Schuchardt <xypron.glpk@gmx.de>
+PKG_LICENSE:=GPL-2+
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+
+define Package/pkg-config
+  SECTION:=devel
+  CATEGORY:=Development
+  TITLE:=pkg-config
+  URL:=http://www.freedesktop.org/wiki/Software/pkg-config/
+  DEPENDS:=+glib2 $(INTL_DEPENDS)
+endef
+
+define Package/pkg-config/description
+  pkg-config is a helper tool used when compiling applications and libraries.
+  It helps you insert the correct compiler options on the command line so an
+  application can use gcc -o test test.cpkg-config --libs --cflags glib-2.0
+  for instance, rather than hard-coding values on where to find glib (or
+  other libraries).
+endef
+
+define Package/pkg-config/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pkg-config $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/share/aclocal/
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/pkg.m4 \
+         $(1)/usr/share/aclocal/
+endef
+
+$(eval $(call BuildPackage,pkg-config))
index 9ed69d24503ffa09db81b1957a486bcc40dc051a..6429b2d3e74a9d87578d8699fcb6fea0a60d476f 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=luasec
-PKG_VERSION:=0.5
+PKG_VERSION:=0.5.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/brunoos/luasec/archive/
-PKG_MD5SUM:=0518f4524f399f33424c6f450e1d06db
+PKG_MD5SUM:=e34e274a57e9045641191eb7398cce2a
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
 
 MAINTAINER:=W. Michael Petullo <mike@flyn.org>
index 3ab2e8eae6585bf010aeb3c73941068bb165c1d0..17314cfeb3d24fd2d1261c8d7c1f1b1e9f1395de 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2015 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=php
-PKG_VERSION:=5.6.16
+PKG_VERSION:=5.6.17
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>, Michael Heimpold <mhei@heimpold.de>
@@ -18,7 +18,7 @@ PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www.php.net/distributions/
-PKG_MD5SUM:=3f1d999ed1f9cb5713c9a0161c557f2f
+PKG_MD5SUM:=5e080e4b7df5db24f1b64313f8114bd8
 
 PKG_FIXUP:=libtool autoreconf
 PKG_BUILD_PARALLEL:=1
index f97cd170d207945f925901e947b796363433f925..b78bce1d505a3392617806b491cc402b9cedbc05 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cffi
-PKG_VERSION:=1.3.1
+PKG_VERSION:=1.4.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://pypi.python.org/packages/source/c/cffi
-PKG_MD5SUM:=deeba7c1fd32a66f1db587988d760c11
+PKG_MD5SUM:=81357fe5042d00650b85b728cc181df2
 
 PKG_BUILD_DEPENDS:=python python-setuptools
 HOST_BUILD_DEPENDS:=libffi/host python/host python-setuptools/host python-pycparser/host
@@ -45,7 +45,7 @@ define Build/Compile
 endef
 
 define Host/Compile
-       $(call Build/Compile/HostPyMod,,install --prefix="" --root="$(STAGING_DIR_HOST)")
+       $(call Build/Compile/HostPyMod,,install --prefix="/usr" --root="$(STAGING_DIR_HOST)")
 endef
 
 define Host/Install
diff --git a/lang/python-cryptography/Makefile b/lang/python-cryptography/Makefile
new file mode 100644 (file)
index 0000000..6959f6d
--- /dev/null
@@ -0,0 +1,53 @@
+#
+# 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:=cryptography
+PKG_VERSION:=1.1.2
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/c/cryptography
+PKG_MD5SUM:=15eeba9e31f852bac21155baa3dfbc61
+
+PKG_BUILD_DEPENDS:=python-cffi/host
+
+PKG_LICENSE:=Apache-2.0 BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python-package.mk)
+
+define Package/python-cryptography
+       SECTION:=lang
+       CATEGORY:=Languages
+       SUBMENU:=Python
+       TITLE:=python-cryptography
+       URL:=https://github.com/pyca/cryptography
+       DEPENDS:=+libopenssl +python +python-cffi +python-enum34 +python-idna +python-ipaddress +python-pyasn1 +python-six +python-setuptools
+endef
+
+define Package/python-cryptography/description
+cryptography is a package which provides cryptographic recipes and
+primitives to Python developers.  Our goal is for it to be your "cryptographic
+standard library". It supports Python 2.6-2.7, Python 3.3+, and PyPy 2.6+.
+endef
+
+define PyPackage/python-cryptography/filespec
++|$(PYTHON_PKG_DIR)
+-|$(PYTHON_PKG_DIR)/cryptography/hazmat/backends/commoncrypto
+-|$(PYTHON_PKG_DIR)/cryptography/hazmat/bindings/commoncrypto
+endef
+
+define Build/Compile
+       $(call Build/Compile/PyMod,,install --prefix="/usr" --root="$(PKG_INSTALL_DIR)")
+endef
+
+$(eval $(call PyPackage,python-cryptography))
+$(eval $(call BuildPackage,python-cryptography))
index 89ddc414ab862373b616066770b699e7c8bd1000..351a9eb63bf73b2d17df5ecba8d9575b08532f83 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=enum34
-PKG_VERSION:=1.1.1
+PKG_VERSION:=1.1.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://pypi.python.org/packages/source/e/enum34
-PKG_MD5SUM:=5edaf22a14ec2769fc973a0443bf02d5
+PKG_MD5SUM:=025bb71b3f9d2fad15d0ee53e48dc873
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=enum/LICENSE
index fa7c42a3c6dd8b7b2dca4407a75191ef54e71775..e8b974a6831f9802115b51df9c62f833bc0c4bfa 100644 (file)
@@ -53,7 +53,7 @@ define Build/InstallDev
 endef
 
 define Host/Compile
-       $(call Build/Compile/HostPyMod,,install --prefix="" --root="$(STAGING_DIR_HOST)")
+       $(call Build/Compile/HostPyMod,,install --prefix="/usr" --root="$(STAGING_DIR_HOST)")
 endef
 
 define Host/Install
index fa105cc952c615408363620ae6a6e1eaf759ab1b..c5e03f2bb98d135b8b68df24c9afcfa090f4fec9 100644 (file)
@@ -47,7 +47,7 @@ define Build/Compile
 endef
 
 define Host/Compile
-       $(call Build/Compile/HostPyMod,,install --prefix="" --root="$(STAGING_DIR_HOST)")
+       $(call Build/Compile/HostPyMod,,install --prefix="/usr" --root="$(STAGING_DIR_HOST)")
 endef
 
 define Host/Install
diff --git a/lang/python-pyopenssl/Makefile b/lang/python-pyopenssl/Makefile
new file mode 100644 (file)
index 0000000..187e19f
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# 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:=pyOpenSSL
+PKG_VERSION:=0.15.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/p/pyOpenSSL
+PKG_MD5SUM:=f447644afcbd5f0a1f47350fec63a4c6
+
+PKG_BUILD_DEPENDS:=python python-setuptools
+
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python-package.mk)
+
+define Package/python-pyopenssl
+       SECTION:=lang
+       CATEGORY:=Languages
+       SUBMENU:=Python
+       TITLE:=python-pyopenssl
+       URL:=https://github.com/pyca/pyopenssl
+       DEPENDS:=+python-light +python-cryptography +python-six
+endef
+
+define Package/python-pyopenssl/description
+Python wrapper module around the OpenSSL library
+endef
+
+define Build/Compile
+       $(call Build/Compile/PyMod,,install --prefix="/usr" --root="$(PKG_INSTALL_DIR)")
+endef
+
+$(eval $(call PyPackage,python-pyopenssl))
+$(eval $(call BuildPackage,python-pyopenssl))
diff --git a/lang/python-pyopenssl/patches/001-omit-tests.patch b/lang/python-pyopenssl/patches/001-omit-tests.patch
new file mode 100644 (file)
index 0000000..b3c387e
--- /dev/null
@@ -0,0 +1,27 @@
+diff --git a/setup.py b/setup.py
+index c376f87..6444fac 100755
+--- a/setup.py
++++ b/setup.py
+@@ -22,14 +22,7 @@ setup(name='pyOpenSSL', version=__version__,
+                      'OpenSSL.rand',
+                      'OpenSSL.crypto',
+                      'OpenSSL.SSL',
+-                     'OpenSSL.version',
+-                     'OpenSSL.test.__init__',
+-                     'OpenSSL.test.util',
+-                     'OpenSSL.test.test_crypto',
+-                     'OpenSSL.test.test_rand',
+-                     'OpenSSL.test.test_ssl',
+-                     'OpenSSL.test.test_tsafe',
+-                     'OpenSSL.test.test_util',],
++                     'OpenSSL.version',],
+       description = 'Python wrapper module around the OpenSSL library',
+       author = 'Jean-Paul Calderone',
+       author_email = 'exarkun@twistedmatrix.com',
+@@ -74,5 +67,4 @@ High-level wrapper around a subset of the OpenSSL library, includes
+         'Topic :: Security :: Cryptography',
+         'Topic :: Software Development :: Libraries :: Python Modules',
+         'Topic :: System :: Networking',
+-        ],
+-      test_suite="OpenSSL")
++        ])
index 27c26e8cc56159b8cc32fa713f5079ff81a6ba4c..71d30fec16e9aaa2fd45ab1ee05c0f579e5f0154 100644 (file)
@@ -60,7 +60,7 @@ endef
 
 define Host/Compile
        $(call Build/Compile/HostPyMod,,\
-               install --root="$(STAGING_DIR_HOST)" --prefix="" \
+               install --root="$(STAGING_DIR_HOST)" --prefix="/usr" \
                --single-version-externally-managed \
        )
 endef
index f10c5cc9944141af0aa85a29a181bde60aa9e018..c8936d2262f3e619bb2529a0b86d827b999893ce 100644 (file)
@@ -12,7 +12,7 @@ include ./files/python-package.mk
 
 PKG_NAME:=python
 PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
index 17038d14d6065cc0bc26ccab6759f85983009645..b2ed33683503081d17d5a16ef31ee0f6d4061a43 100644 (file)
@@ -13,10 +13,10 @@ HOST_PYTHONPATH:=$(HOST_PYTHON_LIB_DIR):$(STAGING_DIR_HOST)/$(HOST_PYTHON_PKG_DI
 define HostPython
        if [ "$(strip $(3))" == "HOST" ]; then \
                export PYTHONPATH="$(HOST_PYTHONPATH)"; \
-               export _python_sysroot="$(STAGING_DIR_HOST)/usr"; \
+               export _python_sysroot="$(STAGING_DIR_HOST)"; \
        else \
                export PYTHONPATH="$(PYTHONPATH)"; \
-               export _python_sysroot="$(STAGING_DIR)/usr"; \
+               export _python_sysroot="$(STAGING_DIR)"; \
        fi; \
        export PYTHONOPTIMIZE=""; \
        export PYTHONDONTWRITEBYTECODE=1; \
@@ -29,7 +29,7 @@ endef
 # These configure args are needed in detection of path to Python header files
 # using autotools.
 HOST_CONFIGURE_ARGS += \
-       _python_sysroot="$(STAGING_DIR_HOST)/usr" \
+       _python_sysroot="$(STAGING_DIR_HOST)" \
        _python_prefix="/usr" \
        _python_exec_prefix="/usr"
 
index 210d63319ec60375c840ef4a654d8aea96a0ea8c..3922dad16fc61b175f27a4b5a94dca738204518d 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ruby
-PKG_VERSION:=2.2.3
+PKG_VERSION:=2.2.4
 PKG_RELEASE:=1
 
 PKG_LIBVER:=2.2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://cache.ruby-lang.org/pub/ruby/$(PKG_LIBVER)/
-PKG_MD5SUM:=f49a734729a71774d4a94a9a603114b2
+PKG_MD5SUM:=c3d65f6d2ebe90dda81a37885ea244f5
 PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
 PKG_LICENSE:=BSD-2-Clause
 PKG_LICENSE_FILES:=COPYING
@@ -833,6 +833,13 @@ endif
 
 TARGET_LDFLAGS += -L$(PKG_BUILD_DIR)
 
+# Ruby uses DLDFLAGS and not LDFLAGS for libraries. LDFLAGS is only for execs.
+# However, DLDFLAGS from configure is not passed to Makefile when target is linux.
+# XLDFLAGS is used by both libraries and execs. This is somehow brute force but
+# if will fix when some LD_FLAGS is needef for libraries. As side effect, it will
+# duplicate ld args for binaries.
+CONFIGURE_VARS += XLDFLAGS="$(TARGET_LDFLAGS)"
+
 MAKE_FLAGS += \
        DESTDIR="$(PKG_INSTALL_DIR)" \
        SHELL="/bin/bash"
diff --git a/libs/avahi/patches/011-fix-poll-h-warnings-on-musl.patch b/libs/avahi/patches/011-fix-poll-h-warnings-on-musl.patch
new file mode 100644 (file)
index 0000000..a331e64
--- /dev/null
@@ -0,0 +1,65 @@
+diff --git a/avahi-common/simple-watch.c b/avahi-common/simple-watch.c
+index 8df18dd..08d8090 100644
+--- a/avahi-common/simple-watch.c
++++ b/avahi-common/simple-watch.c
+@@ -21,7 +21,7 @@
+ #include <config.h>
+ #endif
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <assert.h>
+ #include <string.h>
+ #include <errno.h>
+diff --git a/avahi-common/simple-watch.h b/avahi-common/simple-watch.h
+index 72c1905..db87122 100644
+--- a/avahi-common/simple-watch.h
++++ b/avahi-common/simple-watch.h
+@@ -22,7 +22,7 @@
+ /** \file simple-watch.h Simple poll() based main loop implementation */
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <avahi-common/cdecl.h>
+ #include <avahi-common/watch.h>
+diff --git a/avahi-common/thread-watch.c b/avahi-common/thread-watch.c
+index c0cadeb..ecb202b 100644
+--- a/avahi-common/thread-watch.c
++++ b/avahi-common/thread-watch.c
+@@ -21,7 +21,7 @@
+ #include <config.h>
+ #endif
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <assert.h>
+ #include <string.h>
+ #include <errno.h>
+diff --git a/avahi-common/thread-watch.h b/avahi-common/thread-watch.h
+index dec0cf3..1b44ccb 100644
+--- a/avahi-common/thread-watch.h
++++ b/avahi-common/thread-watch.h
+@@ -22,7 +22,7 @@
+ /** \file thread-watch.h Threaded poll() based main loop implementation */
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <avahi-common/cdecl.h>
+ #include <avahi-common/watch.h>
+diff --git a/avahi-common/watch.h b/avahi-common/watch.h
+index 86e63d3..eea12ec 100644
+--- a/avahi-common/watch.h
++++ b/avahi-common/watch.h
+@@ -22,7 +22,7 @@
+ /** \file watch.h Simplistic main loop abstraction */
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <sys/time.h>
+ #include <avahi-common/cdecl.h>
index 9f0dc5c89b9312fb1ded65ca5535a3faaa9d09a4..1cd08e49c06642a5d1f79a0f312c8020ca688759 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libev
 PKG_VERSION:=4.20
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://dist.schmorp.de/libev/Attic/
@@ -44,7 +44,9 @@ CONFIGURE_ARGS += \
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/event.h $(1)/usr/include/ev_event_compat.h
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/ev.h $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/ev++.h $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libev.{a,so*} $(1)/usr/lib/
 endef
index b806d79eafb2629a1d444fcad50cefd60328b181..ae0c199261ec214531c1878aeff0c4fd99f14997 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libsodium
-PKG_VERSION:=1.0.7
+PKG_VERSION:=1.0.8
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.libsodium.org/libsodium/releases
-PKG_MD5SUM:=8bdc92cee556526a51612709e976208a
+PKG_MD5SUM:=0a66b86fd3aab3fe4c858edcd2772760
 
 PKG_FIXUP:=libtool autoreconf
 PKG_USE_MIPS16:=0
index a482b5ed4e99d669a48492a830961dfd907961e1..873632a8d7ba49458fde7c88069e167760fd694c 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libsoup
-PKG_VERSION:=2.44.2
+PKG_VERSION:=2.53.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@GNOME/$(PKG_NAME)/2.44
-PKG_MD5SUM:=92aa3667357157e8f3489bcca287f2fa
+PKG_SOURCE_URL:=@GNOME/$(PKG_NAME)/2.53
+PKG_MD5SUM:=dc23612d6365a0b8a6a650ffe0bdcb4c
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
@@ -42,6 +42,7 @@ define Build/Configure
                --disable-glibtest \
                --without-apache-httpd \
                --without-gnome \
+               --enable-vala=no \
        )
 endef
 
index a2423d297889c59f4f03a3bccd4d07cb16116af5..f9a83477208a25087e5f0c4c0877249385fcadc3 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openldap
-PKG_VERSION:=2.4.41
+PKG_VERSION:=2.4.43
 PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
@@ -16,7 +16,7 @@ PKG_SOURCE_URL:=ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/ \
        ftp://sunsite.cnlab-switch.ch/mirror/OpenLDAP/openldap-release/ \
        ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/ \
        ftp://ftp.plig.org/pub/OpenLDAP/openldap-release/
-PKG_MD5SUM:=3f1a4cea52827e18feaedfdc1634b5d0
+PKG_MD5SUM:=49ca65e27891fcf977d78c10f073c705
 
 PKG_FIXUP:=autoreconf
 
index ab07dc1e1478d5b6653d79c0b7a28fafb60179d5..86f2a2d7eb092e9c45238eb27e3be44a81f46b66 100644 (file)
@@ -10,7 +10,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zeromq
-PKG_VERSION:=4.1.1
+PKG_VERSION:=4.1.3
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
 PKG_LICENSE:=GPL-3.0+
@@ -18,7 +18,7 @@ PKG_LICENSE_FILES:=LICENCE.txt
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:= http://download.zeromq.org
-PKG_MD5SUM:=0a4b44aa085644f25c177f79dc13f253
+PKG_MD5SUM:=d0824317348cfb44b8692e19cc73dc3a
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_BUILD_DEPENDS:=libuuid
index 74e673c1acdbddae9670c3966777bc917b86ff14..f7ecc489ef6becfe0cf9629222fb0dea0f2d4b95 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -147,8 +147,10 @@ case "${host_os}" in
+@@ -148,8 +148,10 @@ case "${host_os}" in
      *linux*)
          # Define on Linux to enable all library features. Define if using a gnu compiler
          if test "x$GXX" = "xyes"; then
index 121f7070140991dc512422de417a8870caf3f26e..3e13e272f233642e8f3549b5aaee6940794cc2fa 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/metadata.hpp
 +++ b/src/metadata.hpp
-@@ -31,7 +31,7 @@ namespace zmq
+@@ -41,7 +41,7 @@ namespace zmq
      {
          public:
  
@@ -11,7 +11,7 @@
              virtual ~metadata_t ();
 --- a/src/socket_base.cpp
 +++ b/src/socket_base.cpp
-@@ -20,6 +20,7 @@
+@@ -30,6 +30,7 @@
  #include <new>
  #include <string>
  #include <algorithm>
@@ -21,7 +21,7 @@
  
 --- a/src/stream_engine.cpp
 +++ b/src/stream_engine.cpp
-@@ -198,7 +198,7 @@ void zmq::stream_engine_t::plug (io_thre
+@@ -208,7 +208,7 @@ void zmq::stream_engine_t::plug (io_thre
              //  Compile metadata.
              typedef metadata_t::dict_t properties_t;
              properties_t properties;
@@ -30,7 +30,7 @@
              zmq_assert (metadata == NULL);
              metadata = new (std::nothrow) metadata_t (properties);
          }
-@@ -805,7 +805,7 @@ void zmq::stream_engine_t::mechanism_rea
+@@ -815,7 +815,7 @@ void zmq::stream_engine_t::mechanism_rea
  
      //  If we have a peer_address, add it to metadata
      if (!peer_address.empty()) {
index 6abd647ae376ddf64322e5b5b9499bdffa595582..8c137c8c541dd62b01dd886f4fbb4141bf70a62c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/blob.hpp
 +++ b/src/blob.hpp
-@@ -21,6 +21,7 @@
+@@ -31,6 +31,7 @@
  #define __ZMQ_BLOB_HPP_INCLUDED__
  
  #include <string>
diff --git a/libs/zmq/patches/040-fix_GNUC_conditional_for_GCC5.patch b/libs/zmq/patches/040-fix_GNUC_conditional_for_GCC5.patch
new file mode 100644 (file)
index 0000000..dea9b48
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/src/blob.hpp
++++ b/src/blob.hpp
+@@ -38,7 +38,7 @@
+ // They seem to be doing something for MSC, but since I only have gcc, I'll just do that
+ // Assuming this is uneccessary on GCC 4
+ // #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000))
+-#if (defined(__GNUC__) && (__GNUC__ >= 3) && (__GNUC__ <= 4))
++#if (defined(__GNUC__) && (__GNUC__ >= 3))
+ namespace std
+ {
+   template<>
index 63a21ba1f67a269e1382756c11b511521906bd5b..120e96595827829b63fe3b8d2c5c2fced0f19386 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/mtrie.cpp
 +++ b/src/mtrie.cpp
-@@ -17,11 +17,11 @@
+@@ -27,11 +27,11 @@
      along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
  
@@ -16,7 +16,7 @@
  #include "windows.hpp"
 --- a/src/raw_encoder.cpp
 +++ b/src/raw_encoder.cpp
-@@ -17,6 +17,11 @@
+@@ -27,6 +27,11 @@
      along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
  
@@ -30,7 +30,7 @@
  #include "likely.hpp"
 --- a/src/trie.cpp
 +++ b/src/trie.cpp
-@@ -17,11 +17,11 @@
+@@ -27,11 +27,11 @@
      along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
  
@@ -46,7 +46,7 @@
  #include "windows.hpp"
 --- a/src/encoder.hpp
 +++ b/src/encoder.hpp
-@@ -29,7 +29,6 @@
+@@ -39,7 +39,6 @@
  #include <stddef.h>
  #include <string.h>
  #include <stdlib.h>
@@ -56,7 +56,7 @@
  #include "msg.hpp"
 --- a/src/v1_encoder.cpp
 +++ b/src/v1_encoder.cpp
-@@ -17,6 +17,11 @@
+@@ -27,6 +27,11 @@
      along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
  
@@ -70,7 +70,7 @@
  #include "likely.hpp"
 --- a/src/v2_encoder.cpp
 +++ b/src/v2_encoder.cpp
-@@ -17,6 +17,11 @@
+@@ -27,6 +27,11 @@
      along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
  
index ed677cf3ec893af942c94309518b7ad828623cf8..d24eeb964ea0f3d00285a31889cb93f5ef5e9ec9 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ffmpeg
-PKG_VERSION:=2.7.2
+PKG_VERSION:=2.7.4
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://ffmpeg.org/releases/
-PKG_MD5SUM:=7eb2140bab9f0a8669b65b50c8e4cfb5
+PKG_MD5SUM:=dea35a30de724e1851a94680fc209a0d
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 
 PKG_LICENSE:=LGPL-2.1+ GPL-2+ LGPL-3
index 95d2985b09c085dcc917d971a83eaefffe97e500..153cd1a9f98a06d1e7256a500eb5e0c248a2a13d 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=grilo-plugins
-PKG_VERSION:=0.2.16
+PKG_VERSION:=0.3.0
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
@@ -17,8 +17,8 @@ PKG_LICENSE:=LGPLv2.1
 PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@GNOME/grilo-plugins/0.2/
-PKG_MD5SUM:=62ecaad877b485a950259eef1ef38c18
+PKG_SOURCE_URL:=@GNOME/grilo-plugins/0.3/
+PKG_MD5SUM:=670f0302a4b91c043a7c9f9222545fbe
 
 PKG_BUILD_DEPENDS:=glib2 grilo
 
@@ -54,7 +54,7 @@ CONFIGURE_ARGS += \
         --without-x \
 
 define Package/grilo-plugins/install
-       $(INSTALL_DIR) $(1)/usr/lib/grilo-0.2
+       $(INSTALL_DIR) $(1)/usr/lib/grilo-0.3
 endef
 
 define BuildPlugin
@@ -68,10 +68,10 @@ define BuildPlugin
   endef
 
   define Package/grilo-plugins-$(1)/install
-       $(INSTALL_DIR) $$(1)/usr/lib/grilo-0.2
+       $(INSTALL_DIR) $$(1)/usr/lib/grilo-0.3
        for p in $(3); do \
-               $(CP) $(PKG_INSTALL_DIR)/usr/lib/grilo-0.2/libgrl$$$$$$$${p}.so $$(1)/usr/lib/grilo-0.2; \
-               $(CP) $(PKG_INSTALL_DIR)/usr/lib/grilo-0.2/grl-$$$$$$$${p}.xml $$(1)/usr/lib/grilo-0.2; \
+               $(CP) $(PKG_INSTALL_DIR)/usr/lib/grilo-0.3/libgrl$$$$$$$${p}.so $$(1)/usr/lib/grilo-0.3; \
+               $(CP) $(PKG_INSTALL_DIR)/usr/lib/grilo-0.3/grl-$$$$$$$${p}.xml $$(1)/usr/lib/grilo-0.3; \
        done
   endef
 
index 20747eb92cd5101cd390e40b1b9c5d0b589a14e1..960d409b21130f5f087dc8e1f83034e0a13adb28 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=grilo
-PKG_VERSION:=0.2.14
+PKG_VERSION:=0.3.0
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
@@ -17,8 +17,8 @@ PKG_LICENSE:=LGPLv2.1
 PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@GNOME/grilo/0.2/
-PKG_MD5SUM:=7eba405ada20fefcb877d534d9d4f
+PKG_SOURCE_URL:=@GNOME/grilo/0.3/
+PKG_MD5SUM:=f8a51aacc604dcc308e71f8bca4c57ae
 
 PKG_BUILD_DEPENDS:=glib2 libsoup libxml2
 
@@ -46,7 +46,7 @@ endef
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include/
        $(CP) \
-               $(PKG_INSTALL_DIR)/usr/include/grilo-0.2/ \
+               $(PKG_INSTALL_DIR)/usr/include/grilo-0.3/ \
                $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib/
        $(CP) \
@@ -56,6 +56,13 @@ define Build/InstallDev
        $(INSTALL_DATA) \
                $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
                $(1)/usr/lib/pkgconfig/
+       $(INSTALL_DIR) $(STAGING_DIR_HOST)/share/vala-0.30/vapi/
+       # Note: this are compiled elsewhere because grilo refuses to
+       # generate VAPI files unless gobject-introspection exists;
+       # OpenWrt does not yet have a gobject-introspection package.
+       $(INSTALL_DATA) \
+               ./files/*.vapi \
+               $(STAGING_DIR_HOST)/share/vala-0.30/vapi
 endef
 
 define Package/grilo/install
diff --git a/multimedia/grilo/files/grilo-0.3.vapi b/multimedia/grilo/files/grilo-0.3.vapi
new file mode 100644 (file)
index 0000000..6bcd1bd
--- /dev/null
@@ -0,0 +1,1033 @@
+/* grilo-0.3.vapi generated by vapigen-0.30, do not modify. */
+
+[CCode (cprefix = "Grl", gir_namespace = "Grl", gir_version = "0.3", lower_case_cprefix = "grl_")]
+namespace Grl {
+       [CCode (cheader_filename = "grilo.h", type_id = "grl_caps_get_type ()")]
+       public class Caps : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public Caps ();
+               public unowned GLib.List<Grl.KeyID> get_key_filter ();
+               public unowned GLib.List<Grl.KeyID> get_key_range_filter ();
+               public Grl.TypeFilter get_type_filter ();
+               public bool is_key_filter (Grl.KeyID key);
+               public bool is_key_range_filter (Grl.KeyID key);
+               public void set_key_filter (GLib.List<Grl.KeyID> keys);
+               public void set_key_range_filter (GLib.List<Grl.KeyID> keys);
+               public void set_type_filter (Grl.TypeFilter filter);
+               public bool test_option (string key, GLib.Value value);
+       }
+       [CCode (cheader_filename = "grilo.h", type_id = "grl_config_get_type ()")]
+       public class Config : GLib.Object {
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak void*[] _grl_reserved;
+               [CCode (has_construct_function = false)]
+               public Config (string plugin, string? source);
+               public string get_api_key ();
+               public uint8 get_api_key_blob (size_t size);
+               public string get_api_secret ();
+               public string get_api_token ();
+               public string get_api_token_secret ();
+               public uint8 get_binary (string param, size_t? size);
+               public bool get_boolean (string param);
+               public float get_float (string param);
+               public int get_int (string param);
+               public string get_password ();
+               public string get_plugin ();
+               public string get_source ();
+               public string get_string (string param);
+               public string get_username ();
+               public bool has_param (string param);
+               public void @set (string param, GLib.Value value);
+               public void set_api_key (string key);
+               public void set_api_key_blob (uint8 blob, size_t size);
+               public void set_api_secret (string secret);
+               public void set_api_token (string token);
+               public void set_api_token_secret (string secret);
+               public void set_binary (string param, uint8 blob, size_t size);
+               public void set_boolean (string param, bool value);
+               public void set_float (string param, float value);
+               public void set_int (string param, int value);
+               public void set_password (string password);
+               public void set_plugin (string plugin);
+               public void set_source (string source);
+               public void set_string (string param, string value);
+               public void set_username (string username);
+       }
+       [CCode (cheader_filename = "grilo.h", type_id = "grl_data_get_type ()")]
+       public class Data : GLib.Object {
+               [CCode (array_length = false, array_null_terminated = true)]
+               public weak void*[] _grl_reserved;
+               [CCode (has_construct_function = false)]
+               public Data ();
+               public void add_binary (Grl.KeyID key, uint8 buf, size_t size);
+               public void add_boxed (Grl.KeyID key, void* boxed);
+               public void add_float (Grl.KeyID key, float floatvalue);
+               public void add_int (Grl.KeyID key, int intvalue);
+               public void add_int64 (Grl.KeyID key, int64 intvalue);
+               public void add_related_keys (Grl.RelatedKeys relkeys);
+               public void add_string (Grl.KeyID key, string strvalue);
+               public Grl.Data dup ();
+               public unowned GLib.Value? @get (Grl.KeyID key);
+               public uint8 get_binary (Grl.KeyID key, out size_t size);
+               public bool get_boolean (Grl.KeyID key);
+               public void* get_boxed (Grl.KeyID key);
+               public float get_float (Grl.KeyID key);
+               public int get_int (Grl.KeyID key);
+               public int64 get_int64 (Grl.KeyID key);
+               public GLib.List<weak Grl.KeyID> get_keys ();
+               public unowned Grl.RelatedKeys get_related_keys (Grl.KeyID key, uint index);
+               public GLib.List<weak GLib.Value?> get_single_values_for_key (Grl.KeyID key);
+               public GLib.List<weak string> get_single_values_for_key_string (Grl.KeyID key);
+               public unowned string get_string (Grl.KeyID key);
+               public bool has_key (Grl.KeyID key);
+               public uint length (Grl.KeyID key);
+               public void remove (Grl.KeyID key);
+               public void remove_nth (Grl.KeyID key, uint index);
+               public void @set (Grl.KeyID key, GLib.Value value);
+               public void set_binary (Grl.KeyID key, uint8 buf, size_t size);
+               public void set_boolean (Grl.KeyID key, bool boolvalue);
+               public void set_boxed (Grl.KeyID key, void* boxed);
+               public void set_float (Grl.KeyID key, float floatvalue);
+               public void set_int (Grl.KeyID key, int intvalue);
+               public void set_int64 (Grl.KeyID key, int64 intvalue);
+               public void set_related_keys (Grl.RelatedKeys relkeys, uint index);
+               public void set_string (Grl.KeyID key, string strvalue);
+       }
+       [CCode (cheader_filename = "grilo.h")]
+       [Compact]
+       public class LogDomain {
+               public void free ();
+       }
+       [CCode (cheader_filename = "grilo.h", type_id = "grl_media_get_type ()")]
+       public class Media : Grl.Data {
+               [CCode (has_construct_function = false)]
+               public Media ();
+               public void add_artist (string artist);
+               public void add_author (string author);
+               public void add_director (string director);
+               public void add_external_player (string player);
+               public void add_external_url (string url);
+               public void add_genre (string genre);
+               public void add_keyword (string keyword);
+               public void add_lyrics (string lyrics);
+               public void add_mb_artist_id (string mb_artist_id);
+               public void add_performer (string performer);
+               public void add_producer (string producer);
+               public void add_region_data (string region, GLib.DateTime publication_date, string certificate);
+               public void add_thumbnail (string thumbnail);
+               public void add_thumbnail_binary (uint8 thumbnail, size_t size);
+               public void add_url_data (string url, string mime, int bitrate, float framerate, int width, int height);
+               [CCode (cname = "grl_media_audio_new", has_construct_function = false)]
+               public Media.audio_new ();
+               [CCode (cname = "grl_media_container_new", has_construct_function = false)]
+               public Media.container_new ();
+               public unowned string get_album ();
+               public unowned string get_artist ();
+               public unowned string get_artist_nth (uint index);
+               public unowned string get_author ();
+               public unowned string get_author_nth (uint index);
+               public int get_bitrate ();
+               public unowned string get_camera_model ();
+               public unowned string get_certificate ();
+               public int get_childcount ();
+               public unowned GLib.DateTime get_creation_date ();
+               public unowned string get_description ();
+               public unowned string get_director ();
+               public unowned string get_director_nth (uint index);
+               public int get_duration ();
+               public int get_episode ();
+               public unowned string get_episode_title ();
+               public float get_exposure_time ();
+               public unowned string get_external_url ();
+               public unowned string get_external_url_nth (uint index);
+               public bool get_favourite ();
+               public unowned string get_flash_used ();
+               public float get_framerate ();
+               public unowned string get_genre ();
+               public unowned string get_genre_nth (uint index);
+               public int get_height ();
+               public unowned string get_id ();
+               public float get_iso_speed ();
+               public unowned string get_keyword ();
+               public unowned string get_keyword_nth (uint index);
+               public GLib.DateTime get_last_played ();
+               public int get_last_position ();
+               public unowned string get_license ();
+               public unowned string get_lyrics ();
+               public unowned string get_lyrics_nth (uint index);
+               public unowned string get_mb_album_id ();
+               public unowned string get_mb_artist_id ();
+               public unowned string get_mb_artist_id_nth (uint index);
+               public unowned string get_mb_recording_id ();
+               public unowned string get_mb_track_id ();
+               public Grl.MediaType get_media_type ();
+               public unowned string get_mime ();
+               public unowned GLib.DateTime get_modification_date ();
+               public int get_orientation ();
+               public unowned string get_original_title ();
+               public unowned string get_performer ();
+               public unowned string get_performer_nth (uint index);
+               public int get_play_count ();
+               public unowned string get_player ();
+               public unowned string get_player_nth (uint index);
+               public unowned string get_producer ();
+               public unowned string get_producer_nth (uint index);
+               public unowned GLib.DateTime get_publication_date ();
+               public float get_rating ();
+               public unowned string get_region ();
+               public unowned string get_region_data (out unowned GLib.DateTime publication_date, out unowned string certificate);
+               public unowned string get_region_data_nth (uint index, out unowned GLib.DateTime publication_date, out unowned string certificate);
+               public int get_season ();
+               public unowned string get_show ();
+               public unowned string get_site ();
+               public int64 get_size ();
+               public unowned string get_source ();
+               public float get_start_time ();
+               public unowned string get_studio ();
+               public unowned string get_thumbnail ();
+               public uint8 get_thumbnail_binary (size_t size);
+               public uint8 get_thumbnail_binary_nth (size_t size, uint index);
+               public unowned string get_thumbnail_nth (uint index);
+               public unowned string get_title ();
+               public int get_track_number ();
+               public unowned string get_url ();
+               public unowned string get_url_data (out unowned string mime, out int bitrate, float framerate, int width, int height);
+               public unowned string get_url_data_nth (uint index, out unowned string mime, out int bitrate, float framerate, int width, int height);
+               public int get_width ();
+               [CCode (cname = "grl_media_image_new", has_construct_function = false)]
+               public Media.image_new ();
+               public bool is_audio ();
+               public bool is_container ();
+               public bool is_image ();
+               public bool is_video ();
+               public string serialize ();
+               public void set_album (string album);
+               public void set_artist (string artist);
+               public void set_author (string author);
+               public void set_bitrate (int bitrate);
+               public void set_camera_model (string camera_model);
+               public void set_certificate (string certificate);
+               public void set_childcount (int childcount);
+               public void set_creation_date (GLib.DateTime creation_date);
+               public void set_description (string description);
+               public void set_director (string director);
+               public void set_duration (int duration);
+               public void set_episode (int episode);
+               public void set_episode_title (string episode_title);
+               public void set_exposure_time (float exposure_time);
+               public void set_external_player (string player);
+               public void set_external_url (string url);
+               public void set_favourite (bool favourite);
+               public void set_flash_used (string flash_used);
+               public void set_framerate (float framerate);
+               public void set_genre (string genre);
+               public void set_height (int height);
+               public void set_id (string id);
+               public void set_iso_speed (float iso_speed);
+               public void set_keyword (string keyword);
+               public void set_last_played (GLib.DateTime last_played);
+               public void set_last_position (int last_position);
+               public void set_license (string license);
+               public void set_lyrics (string lyrics);
+               public void set_mb_album_id (string mb_album_id);
+               public void set_mb_artist_id (string mb_artist_id);
+               public void set_mb_recording_id (string mb_recording_id);
+               public void set_mb_track_id (string mb_track_id);
+               public void set_mime (string mime);
+               public void set_modification_date (GLib.DateTime modification_date);
+               public void set_orientation (int orientation);
+               public void set_original_title (string original_title);
+               public void set_performer (string performer);
+               public void set_play_count (int play_count);
+               public void set_producer (string producer);
+               public void set_publication_date (GLib.DateTime date);
+               public void set_rating (float rating, float max);
+               public void set_region (string region);
+               public void set_region_data (string region, GLib.DateTime publication_date, string certificate);
+               public void set_season (int season);
+               public void set_show (string show);
+               public void set_site (string site);
+               public void set_size (int64 size);
+               public void set_source (string source);
+               public void set_studio (string studio);
+               public void set_thumbnail (string thumbnail);
+               public void set_thumbnail_binary (uint8 thumbnail, size_t size);
+               public void set_title (string title);
+               public void set_track_number (int track_number);
+               public void set_url (string url);
+               public void set_url_data (string url, string mime, int bitrate, float framerate, int width, int height);
+               public void set_width (int width);
+               public static Grl.Media unserialize (string serial);
+               [CCode (cname = "grl_media_video_new", has_construct_function = false)]
+               public Media.video_new ();
+               [NoAccessorMethod]
+               public Grl.MediaType media_type { get; set construct; }
+       }
+       [CCode (cheader_filename = "grilo.h", type_id = "grl_operation_options_get_type ()")]
+       public class OperationOptions : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public OperationOptions (Grl.Caps? caps);
+               public Grl.OperationOptions copy ();
+               public int get_count ();
+               public unowned GLib.Value? get_key_filter (Grl.KeyID key);
+               public GLib.List<weak Grl.KeyID> get_key_filter_list ();
+               public void get_key_range_filter (Grl.KeyID key, out GLib.Value min_value, out GLib.Value max_value);
+               public GLib.List<weak Grl.KeyID> get_key_range_filter_list ();
+               public Grl.ResolutionFlags get_resolution_flags ();
+               public uint get_skip ();
+               public Grl.TypeFilter get_type_filter ();
+               public bool key_is_set (string key);
+               public bool obey_caps (Grl.Caps caps, out Grl.OperationOptions supported_options, out Grl.OperationOptions unsupported_options);
+               public bool set_count (int count);
+               public bool set_key_filter_dictionary (GLib.HashTable<Grl.KeyID,GLib.Value?> filters);
+               public bool set_key_filter_value (Grl.KeyID key, GLib.Value value);
+               public bool set_key_range_filter_value (Grl.KeyID key, GLib.Value? min_value, GLib.Value? max_value);
+               public bool set_resolution_flags (Grl.ResolutionFlags flags);
+               public bool set_skip (uint skip);
+               public bool set_type_filter (Grl.TypeFilter filter);
+       }
+       [CCode (cheader_filename = "grilo.h", type_id = "grl_plugin_get_type ()")]
+       public class Plugin : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected Plugin ();
+               public unowned string get_author ();
+               public unowned string get_description ();
+               public unowned string get_filename ();
+               public unowned string get_id ();
+               public unowned string get_license ();
+               public unowned string get_module_name ();
+               public unowned string get_name ();
+               public unowned string get_site ();
+               public GLib.List<weak Grl.Source> get_sources ();
+               public unowned string get_version ();
+               public void register_keys ();
+               public void set_filename (string filename);
+               public void set_id (string id);
+               public void set_module (GLib.Module module);
+               public void set_module_name (string module_name);
+               public void unload ();
+               [NoAccessorMethod]
+               public bool loaded { get; }
+       }
+       [CCode (cheader_filename = "grilo.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "grl_range_value_get_type ()")]
+       [Compact]
+       public class RangeValue {
+               public GLib.Value max;
+               public GLib.Value min;
+               [CCode (has_construct_function = false)]
+               public RangeValue (GLib.Value min, GLib.Value max);
+               public Grl.RangeValue dup ();
+               public void free ();
+               public static void hashtable_insert (GLib.HashTable<void*,void*> hash_table, void* key, GLib.Value min, GLib.Value max);
+               public static GLib.HashTable<void*,Grl.RangeValue> hashtable_new ();
+       }
+       [CCode (cheader_filename = "grilo.h", type_id = "grl_registry_get_type ()")]
+       public class Registry : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected Registry ();
+               public bool activate_all_plugins ();
+               public bool activate_plugin_by_id (string plugin_id) throws GLib.Error;
+               public bool add_config (owned Grl.Config config) throws GLib.Error;
+               public bool add_config_from_file (string config_file) throws GLib.Error;
+               public bool add_config_from_resource (string resource_path) throws GLib.Error;
+               public void add_directory (string path);
+               public static unowned Grl.Registry get_default ();
+               public GLib.List<weak Grl.KeyID> get_metadata_keys ();
+               public GLib.List<weak Grl.Plugin> get_plugins (bool only_loaded);
+               public GLib.List<weak Grl.Source> get_sources (bool ranked);
+               public GLib.List<weak Grl.Source> get_sources_by_operations (Grl.SupportedOps ops, bool ranked);
+               public bool load_all_plugins (bool activate) throws GLib.Error;
+               public bool load_plugin (string library_filename) throws GLib.Error;
+               public bool load_plugin_directory (string path) throws GLib.Error;
+               public Grl.KeyID lookup_metadata_key (string key_name);
+               public unowned string lookup_metadata_key_desc (Grl.KeyID key);
+               public unowned string lookup_metadata_key_name (Grl.KeyID key);
+               public unowned GLib.List<Grl.KeyID> lookup_metadata_key_relation (Grl.KeyID key);
+               public GLib.Type lookup_metadata_key_type (Grl.KeyID key);
+               public unowned Grl.Plugin lookup_plugin (string plugin_id);
+               public unowned Grl.Source lookup_source (string source_id);
+               public bool metadata_key_validate (Grl.KeyID key, GLib.Value value);
+               public Grl.KeyID register_metadata_key (owned GLib.ParamSpec param_spec, Grl.KeyID bind_key) throws GLib.Error;
+               public Grl.KeyID register_metadata_key_system (GLib.ParamSpec param_spec, Grl.KeyID key, Grl.KeyID bind_key) throws GLib.Error;
+               public bool register_source (Grl.Plugin plugin, owned Grl.Source source) throws GLib.Error;
+               public void restrict_plugins (string plugins);
+               public void shutdown ();
+               public bool unload_plugin (string plugin_id) throws GLib.Error;
+               public bool unregister_source (Grl.Source source) throws GLib.Error;
+               public signal void metadata_key_added (string key);
+               public signal void source_added (Grl.Source source);
+               public signal void source_removed (Grl.Source source);
+       }
+       [CCode (cheader_filename = "grilo.h", type_id = "grl_related_keys_get_type ()")]
+       public class RelatedKeys : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public RelatedKeys ();
+               public Grl.RelatedKeys dup ();
+               public unowned GLib.Value? @get (Grl.KeyID key);
+               public uint8 get_binary (Grl.KeyID key, out size_t size);
+               public bool get_boolean (Grl.KeyID key);
+               public void* get_boxed (Grl.KeyID key);
+               public float get_float (Grl.KeyID key);
+               public int get_int (Grl.KeyID key);
+               public int64 get_int64 (Grl.KeyID key);
+               public GLib.List<weak Grl.KeyID> get_keys ();
+               public unowned string get_string (Grl.KeyID key);
+               public bool has_key (Grl.KeyID key);
+               public void remove (Grl.KeyID key);
+               public void @set (Grl.KeyID key, GLib.Value value);
+               public void set_binary (Grl.KeyID key, uint8 buf, size_t size);
+               public void set_boolean (Grl.KeyID key, bool booleanvalue);
+               public void set_boxed (Grl.KeyID key, void* boxed);
+               public void set_float (Grl.KeyID key, float floatvalue);
+               public void set_int (Grl.KeyID key, int intvalue);
+               public void set_int64 (Grl.KeyID key, int64 intvalue);
+               public void set_string (Grl.KeyID key, string strvalue);
+       }
+       [CCode (cheader_filename = "grilo.h", type_id = "grl_source_get_type ()")]
+       public abstract class Source : GLib.Object {
+               [CCode (has_construct_function = false)]
+               protected Source ();
+               [NoWrapper]
+               public virtual void browse (Grl.SourceBrowseSpec bs);
+               public GLib.List<Grl.Media> browse_sync (Grl.Media? container, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options) throws GLib.Error;
+               [NoWrapper]
+               public virtual void cancel (uint operation_id);
+               [CCode (cname = "grl_source_browse")]
+               public uint do_browse (Grl.Media? container, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options, Grl.SourceResultCb callback);
+               [CCode (cname = "grl_source_query")]
+               public uint do_query (string query, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options, Grl.SourceResultCb callback);
+               [CCode (cname = "grl_source_remove")]
+               public void do_remove (Grl.Media media, Grl.SourceRemoveCb callback);
+               [CCode (cname = "grl_source_resolve")]
+               public uint do_resolve (Grl.Media? media, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options, Grl.SourceResolveCb callback);
+               [CCode (cname = "grl_source_search")]
+               public uint do_search (string text, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options, Grl.SourceResultCb callback);
+               [CCode (cname = "grl_source_store")]
+               public void do_store (Grl.Media? parent, Grl.Media media, Grl.WriteFlags flags, Grl.SourceStoreCb callback);
+               [CCode (cname = "grl_source_store_metadata")]
+               public void do_store_metadata (Grl.Media media, GLib.List<Grl.KeyID>? keys, Grl.WriteFlags flags, Grl.SourceStoreCb callback);
+               public uint get_auto_split_threshold ();
+               public virtual unowned Grl.Caps get_caps (Grl.SupportedOps operation);
+               public unowned string get_description ();
+               public unowned GLib.Icon get_icon ();
+               public unowned string get_id ();
+               public uint get_media_from_uri (string uri, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options, Grl.SourceResolveCb callback);
+               public Grl.Media get_media_from_uri_sync (string uri, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options) throws GLib.Error;
+               public unowned string get_name ();
+               public unowned Grl.Plugin get_plugin ();
+               public int get_rank ();
+               public Grl.SupportedMedia get_supported_media ();
+               [CCode (cname = "grl_source_supported_operations")]
+               public uint get_supported_operations ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public unowned string[] get_tags ();
+               public virtual bool may_resolve (Grl.Media media, Grl.KeyID key_id, GLib.List<Grl.KeyID> missing_keys);
+               [NoWrapper]
+               public virtual void media_from_uri (Grl.SourceMediaFromUriSpec mfus);
+               public void notify_change (Grl.Media? media, Grl.SourceChangeType change_type, bool location_unknown);
+               public void notify_change_list (owned GLib.GenericArray<Grl.Media> changed_medias, Grl.SourceChangeType change_type, bool location_unknown);
+               public virtual bool notify_change_start () throws GLib.Error;
+               public virtual bool notify_change_stop () throws GLib.Error;
+               [NoWrapper]
+               public virtual void query (Grl.SourceQuerySpec qs);
+               public GLib.List<Grl.Media> query_sync (string query, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options) throws GLib.Error;
+               [NoWrapper]
+               public virtual void remove (Grl.SourceRemoveSpec rs);
+               public void remove_sync (Grl.Media media) throws GLib.Error;
+               [NoWrapper]
+               public virtual void resolve (Grl.SourceResolveSpec ms);
+               public Grl.Media resolve_sync (Grl.Media? media, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options) throws GLib.Error;
+               [NoWrapper]
+               public virtual void search (Grl.SourceSearchSpec ss);
+               public GLib.List<Grl.Media> search_sync (string text, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options) throws GLib.Error;
+               public void set_auto_split_threshold (uint threshold);
+               public virtual unowned GLib.List<Grl.KeyID> slow_keys ();
+               [NoWrapper]
+               public virtual void store (Grl.SourceStoreSpec ss);
+               [NoWrapper]
+               public virtual void store_metadata (Grl.SourceStoreMetadataSpec sms);
+               public GLib.List<weak Grl.KeyID> store_metadata_sync (Grl.Media media, GLib.List<Grl.KeyID>? keys, Grl.WriteFlags flags) throws GLib.Error;
+               public void store_sync (Grl.Media? parent, Grl.Media media, Grl.WriteFlags flags) throws GLib.Error;
+               public virtual unowned GLib.List<Grl.KeyID> supported_keys ();
+               [NoWrapper]
+               public virtual Grl.SupportedOps supported_operations ();
+               public virtual bool test_media_from_uri (string uri);
+               public virtual unowned GLib.List<Grl.KeyID> writable_keys ();
+               public uint auto_split_threshold { get; set; }
+               [NoAccessorMethod]
+               public Grl.Plugin plugin { owned get; set construct; }
+               [NoAccessorMethod]
+               public int rank { get; set construct; }
+               [NoAccessorMethod]
+               public string source_desc { owned get; set construct; }
+               [NoAccessorMethod]
+               public GLib.Icon source_icon { owned get; set construct; }
+               [NoAccessorMethod]
+               public string source_id { owned get; set construct; }
+               [NoAccessorMethod]
+               public string source_name { owned get; set construct; }
+               [CCode (array_length = false, array_null_terminated = true)]
+               [NoAccessorMethod]
+               public string[] source_tags { owned get; set construct; }
+               [NoAccessorMethod]
+               public Grl.SupportedMedia supported_media { get; set construct; }
+               public signal void content_changed (GLib.GenericArray<Grl.Media> changed_medias, Grl.SourceChangeType change_type, bool location_unknown);
+       }
+       [CCode (cheader_filename = "grilo.h")]
+       [SimpleType]
+       public struct KeyID : uint32 {
+       }
+       [CCode (cheader_filename = "grilo.h")]
+       public struct MetadataKey {
+               [CCode (cname = "GRL_METADATA_KEY_INVALID")]
+               public static Grl.KeyID INVALID;
+               [CCode (cname = "GRL_METADATA_KEY_ALBUM")]
+               public static Grl.KeyID ALBUM;
+               [CCode (cname = "GRL_METADATA_KEY_ARTIST")]
+               public static Grl.KeyID ARTIST;
+               [CCode (cname = "GRL_METADATA_KEY_AUTHOR")]
+               public static Grl.KeyID AUTHOR;
+               [CCode (cname = "GRL_METADATA_KEY_BITRATE")]
+               public static Grl.KeyID BITRATE;
+               [CCode (cname = "GRL_METADATA_KEY_CERTIFICATE")]
+               public static Grl.KeyID CERTIFICATE;
+               [CCode (cname = "GRL_METADATA_KEY_CHILDCOUNT")]
+               public static Grl.KeyID CHILDCOUNT;
+               [CCode (cname = "GRL_METADATA_KEY_PUBLICATION_DATE")]
+               public static Grl.KeyID PUBLICATION_DATE;
+               [CCode (cname = "GRL_METADATA_KEY_DESCRIPTION")]
+               public static Grl.KeyID DESCRIPTION;
+               [CCode (cname = "GRL_METADATA_KEY_DURATION")]
+               public static Grl.KeyID DURATION;
+               [CCode (cname = "GRL_METADATA_KEY_EXTERNAL_PLAYER")]
+               public static Grl.KeyID EXTERNAL_PLAYER;
+               [CCode (cname = "GRL_METADATA_KEY_EXTERNAL_URL")]
+               public static Grl.KeyID EXTERNAL_URL;
+               [CCode (cname = "GRL_METADATA_KEY_FRAMERATE")]
+               public static Grl.KeyID FRAMERATE;
+               [CCode (cname = "GRL_METADATA_KEY_GENRE")]
+               public static Grl.KeyID GENRE;
+               [CCode (cname = "GRL_METADATA_KEY_HEIGHT")]
+               public static Grl.KeyID HEIGHT;
+               [CCode (cname = "GRL_METADATA_KEY_ID")]
+               public static Grl.KeyID ID;
+               [CCode (cname = "GRL_METADATA_KEY_LAST_PLAYED")]
+               public static Grl.KeyID LAST_PLAYED;
+               [CCode (cname = "GRL_METADATA_KEY_LAST_POSITION")]
+               public static Grl.KeyID LAST_POSITION;
+               [CCode (cname = "GRL_METADATA_KEY_LICENSE")]
+               public static Grl.KeyID LICENSE;
+               [CCode (cname = "GRL_METADATA_KEY_LYRICS")]
+               public static Grl.KeyID LYRICS;
+               [CCode (cname = "GRL_METADATA_KEY_MIME")]
+               public static Grl.KeyID MIME;
+               [CCode (cname = "GRL_METADATA_KEY_PLAY_COUNT")]
+               public static Grl.KeyID PLAY_COUNT;
+               [CCode (cname = "GRL_METADATA_KEY_RATING")]
+               public static Grl.KeyID RATING;
+               [CCode (cname = "GRL_METADATA_KEY_REGION")]
+               public static Grl.KeyID REGION;
+               [CCode (cname = "GRL_METADATA_KEY_SITE")]
+               public static Grl.KeyID SITE;
+               [CCode (cname = "GRL_METADATA_KEY_SOURCE")]
+               public static Grl.KeyID SOURCE;
+               [CCode (cname = "GRL_METADATA_KEY_STUDIO")]
+               public static Grl.KeyID STUDIO;
+               [CCode (cname = "GRL_METADATA_KEY_THUMBNAIL")]
+               public static Grl.KeyID THUMBNAIL;
+               [CCode (cname = "GRL_METADATA_KEY_THUMBNAIL_BINARY")]
+               public static Grl.KeyID THUMBNAIL_BINARY;
+               [CCode (cname = "GRL_METADATA_KEY_TITLE")]
+               public static Grl.KeyID TITLE;
+               [CCode (cname = "GRL_METADATA_KEY_URL")]
+               public static Grl.KeyID URL;
+               [CCode (cname = "GRL_METADATA_KEY_WIDTH")]
+               public static Grl.KeyID WIDTH;
+               [CCode (cname = "GRL_METADATA_KEY_SEASON")]
+               public static Grl.KeyID SEASON;
+               [CCode (cname = "GRL_METADATA_KEY_EPISODE")]
+               public static Grl.KeyID EPISODE;
+               [CCode (cname = "GRL_METADATA_KEY_EPISODE_TITLE")]
+               public static Grl.KeyID EPISODE_TITLE;
+               [CCode (cname = "GRL_METADATA_KEY_SHOW")]
+               public static Grl.KeyID SHOW;
+               [CCode (cname = "GRL_METADATA_KEY_CREATION_DATE")]
+               public static Grl.KeyID CREATION_DATE;
+               [CCode (cname = "GRL_METADATA_KEY_CAMERA_MODEL")]
+               public static Grl.KeyID CAMERA_MODEL;
+               [CCode (cname = "GRL_METADATA_KEY_ORIENTATION")]
+               public static Grl.KeyID ORIENTATION;
+               [CCode (cname = "GRL_METADATA_KEY_FLASH_USED")]
+               public static Grl.KeyID FLASH_USED;
+               [CCode (cname = "GRL_METADATA_KEY_EXPOSURE_TIME")]
+               public static Grl.KeyID EXPOSURE_TIME;
+               [CCode (cname = "GRL_METADATA_KEY_ISO_SPEED")]
+               public static Grl.KeyID ISO_SPEED;
+               [CCode (cname = "GRL_METADATA_KEY_TRACK_NUMBER")]
+               public static Grl.KeyID TRACK_NUMBER;
+               [CCode (cname = "GRL_METADATA_KEY_MODIFICATION_DATE")]
+               public static Grl.KeyID MODIFICATION_DATE;
+               [CCode (cname = "GRL_METADATA_KEY_START_TIME")]
+               public static Grl.KeyID START_TIME;
+               [CCode (cname = "GRL_METADATA_KEY_KEYWORD")]
+               public static Grl.KeyID KEYWORD;
+               [CCode (cname = "GRL_METADATA_KEY_PERFORMER")]
+               public static Grl.KeyID PERFORMER;
+               [CCode (cname = "GRL_METADATA_KEY_PRODUCER")]
+               public static Grl.KeyID PRODUCER;
+               [CCode (cname = "GRL_METADATA_KEY_DIRECTOR")]
+               public static Grl.KeyID DIRECTOR;
+               [CCode (cname = "GRL_METADATA_KEY_ORIGINAL_TITLE")]
+               public static Grl.KeyID ORIGINAL_TITLE;
+               [CCode (cname = "GRL_METADATA_KEY_MB_ALBUM_ID")]
+               public static Grl.KeyID MB_ALBUM_ID;
+               [CCode (cname = "GRL_METADATA_KEY_MB_TRACK_ID")]
+               public static Grl.KeyID MB_TRACK_ID;
+               [CCode (cname = "GRL_METADATA_KEY_MB_ARTIST_ID")]
+               public static Grl.KeyID MB_ARTIST_ID;
+               [CCode (cname = "GRL_METADATA_KEY_MB_RECORDING_ID")]
+               public static Grl.KeyID MB_RECORDING_ID;
+               [CCode (cname = "GRL_METADATA_KEY_AUDIO_TRACK")]
+               public static Grl.KeyID AUDIO_TRACK;
+               [CCode (cname = "GRL_METADATA_KEY_CHILDCOUNT_UNKNOWN")]
+               public static uint CHILDCOUNT_UNKNOWN;
+               [CCode (cname = "GRL_SOURCE_REMAINING_UNKNOWN")]
+               public static uint REMAINING_UNKNOWN;
+               public static GLib.List list_new (Grl.KeyID p, ...);
+       }
+       [CCode (cheader_filename = "grilo.h", has_type_id = false)]
+       public struct SourceBrowseSpec {
+               public weak Grl.Source source;
+               public uint operation_id;
+               public weak Grl.Media container;
+               public weak GLib.List<void*> keys;
+               public weak Grl.OperationOptions options;
+               [CCode (delegate_target_cname = "user_data")]
+               public weak Grl.SourceResultCb callback;
+               public void* user_data;
+       }
+       [CCode (cheader_filename = "grilo.h", has_type_id = false)]
+       public struct SourceMediaFromUriSpec {
+               public weak Grl.Source source;
+               public uint operation_id;
+               public weak string uri;
+               public weak GLib.List<void*> keys;
+               public weak Grl.OperationOptions options;
+               [CCode (delegate_target_cname = "user_data")]
+               public weak Grl.SourceResolveCb callback;
+               public void* user_data;
+       }
+       [CCode (cheader_filename = "grilo.h", has_type_id = false)]
+       public struct SourceQuerySpec {
+               public weak Grl.Source source;
+               public uint operation_id;
+               public weak string query;
+               public weak GLib.List<void*> keys;
+               public weak Grl.OperationOptions options;
+               [CCode (delegate_target_cname = "user_data")]
+               public weak Grl.SourceResultCb callback;
+               public void* user_data;
+       }
+       [CCode (cheader_filename = "grilo.h", has_type_id = false)]
+       public struct SourceRemoveSpec {
+               public weak Grl.Source source;
+               public weak string media_id;
+               public weak Grl.Media media;
+               [CCode (delegate_target_cname = "user_data")]
+               public weak Grl.SourceRemoveCb callback;
+               public void* user_data;
+       }
+       [CCode (cheader_filename = "grilo.h", has_type_id = false)]
+       public struct SourceResolveSpec {
+               public weak Grl.Source source;
+               public uint operation_id;
+               public weak Grl.Media media;
+               public weak GLib.List<void*> keys;
+               public weak Grl.OperationOptions options;
+               [CCode (delegate_target_cname = "user_data")]
+               public weak Grl.SourceResolveCb callback;
+               public void* user_data;
+       }
+       [CCode (cheader_filename = "grilo.h", has_type_id = false)]
+       public struct SourceSearchSpec {
+               public weak Grl.Source source;
+               public uint operation_id;
+               public weak string text;
+               public weak GLib.List<void*> keys;
+               public weak Grl.OperationOptions options;
+               [CCode (delegate_target_cname = "user_data")]
+               public weak Grl.SourceResultCb callback;
+               public void* user_data;
+       }
+       [CCode (cheader_filename = "grilo.h", has_type_id = false)]
+       public struct SourceStoreMetadataSpec {
+               public weak Grl.Source source;
+               public weak Grl.Media media;
+               public weak GLib.List<void*> keys;
+               public Grl.WriteFlags flags;
+               [CCode (delegate_target_cname = "user_data")]
+               public weak Grl.SourceStoreCb callback;
+               public void* user_data;
+               public weak GLib.List<void*> failed_keys;
+       }
+       [CCode (cheader_filename = "grilo.h", has_type_id = false)]
+       public struct SourceStoreSpec {
+               public weak Grl.Source source;
+               public weak Grl.Media parent;
+               public weak Grl.Media media;
+               [CCode (delegate_target_cname = "user_data")]
+               public weak Grl.SourceStoreCb callback;
+               public string user_data;
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_CORE_ERROR_", has_type_id = false)]
+       public enum CoreError {
+               BROWSE_FAILED,
+               SEARCH_FAILED,
+               SEARCH_NULL_UNSUPPORTED,
+               QUERY_FAILED,
+               RESOLVE_FAILED,
+               MEDIA_NOT_FOUND,
+               STORE_FAILED,
+               STORE_METADATA_FAILED,
+               REMOVE_FAILED,
+               MEDIA_FROM_URI_FAILED,
+               CONFIG_LOAD_FAILED,
+               CONFIG_FAILED,
+               UNREGISTER_SOURCE_FAILED,
+               LOAD_PLUGIN_FAILED,
+               UNLOAD_PLUGIN_FAILED,
+               REGISTER_METADATA_KEY_FAILED,
+               NOTIFY_CHANGED_FAILED,
+               OPERATION_CANCELLED,
+               AUTHENTICATION_TOKEN
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_LOG_LEVEL_", has_type_id = false)]
+       public enum LogLevel {
+               NONE,
+               ERROR,
+               WARNING,
+               MESSAGE,
+               INFO,
+               DEBUG,
+               LAST
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_MEDIA_SERIALIZE_", type_id = "grl_media_serialize_type_get_type ()")]
+       public enum MediaSerializeType {
+               BASIC,
+               PARTIAL,
+               FULL
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_MEDIA_TYPE_", type_id = "grl_media_type_get_type ()")]
+       public enum MediaType {
+               UNKNOWN,
+               AUDIO,
+               VIDEO,
+               IMAGE,
+               CONTAINER
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_RANK_", has_type_id = false)]
+       public enum Rank {
+               LOWEST,
+               LOW,
+               DEFAULT,
+               HIGH,
+               HIGHEST
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_RESOLVE_", type_id = "grl_resolution_flags_get_type ()")]
+       [Flags]
+       public enum ResolutionFlags {
+               NORMAL,
+               FULL,
+               IDLE_RELAY,
+               FAST_ONLY
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_CONTENT_", type_id = "grl_source_change_type_get_type ()")]
+       public enum SourceChangeType {
+               CHANGED,
+               ADDED,
+               REMOVED
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_SUPPORTED_MEDIA_", type_id = "grl_supported_media_get_type ()")]
+       [Flags]
+       public enum SupportedMedia {
+               NONE,
+               AUDIO,
+               VIDEO,
+               IMAGE,
+               ALL
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_OP_", type_id = "grl_supported_ops_get_type ()")]
+       [Flags]
+       public enum SupportedOps {
+               NONE,
+               RESOLVE,
+               BROWSE,
+               SEARCH,
+               QUERY,
+               STORE,
+               STORE_PARENT,
+               STORE_METADATA,
+               REMOVE,
+               MEDIA_FROM_URI,
+               NOTIFY_CHANGE
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_TYPE_FILTER_", type_id = "grl_type_filter_get_type ()")]
+       [Flags]
+       public enum TypeFilter {
+               NONE,
+               AUDIO,
+               VIDEO,
+               IMAGE,
+               ALL
+       }
+       [CCode (cheader_filename = "grilo.h", cprefix = "GRL_WRITE_", type_id = "grl_write_flags_get_type ()")]
+       [Flags]
+       public enum WriteFlags {
+               NORMAL,
+               FULL
+       }
+       [CCode (cheader_filename = "grilo.h", has_target = false)]
+       public delegate void OperationCancelCb (void* data);
+       [CCode (cheader_filename = "grilo.h", has_target = false)]
+       public delegate void PluginDeinitFunc (Grl.Plugin plugin);
+       [CCode (cheader_filename = "grilo.h", has_target = false)]
+       public delegate void PluginRegisterKeysFunc (Grl.Registry registry, Grl.Plugin plugin);
+       [CCode (cheader_filename = "grilo.h", instance_pos = 2.9)]
+       public delegate void SourceRemoveCb (Grl.Source source, owned Grl.Media media, GLib.Error? error);
+       [CCode (cheader_filename = "grilo.h", instance_pos = 3.9)]
+       public delegate void SourceResolveCb (Grl.Source source, uint operation_id, owned Grl.Media media, GLib.Error? error);
+       [CCode (cheader_filename = "grilo.h", instance_pos = 4.9)]
+       public delegate void SourceResultCb (Grl.Source source, uint operation_id, owned Grl.Media? media, uint remaining, GLib.Error? error);
+       [CCode (cheader_filename = "grilo.h", instance_pos = 3.9)]
+       public delegate void SourceStoreCb (Grl.Source source, owned Grl.Media media, GLib.List<Grl.KeyID> failed_keys, GLib.Error? error);
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_CONFIG_KEY_APIKEY")]
+       public const string CONFIG_KEY_APIKEY;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_CONFIG_KEY_APIKEY_BLOB")]
+       public const string CONFIG_KEY_APIKEY_BLOB;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_CONFIG_KEY_APISECRET")]
+       public const string CONFIG_KEY_APISECRET;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_CONFIG_KEY_APITOKEN")]
+       public const string CONFIG_KEY_APITOKEN;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_CONFIG_KEY_APITOKEN_SECRET")]
+       public const string CONFIG_KEY_APITOKEN_SECRET;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_CONFIG_KEY_PASSWORD")]
+       public const string CONFIG_KEY_PASSWORD;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_CONFIG_KEY_PLUGIN")]
+       public const string CONFIG_KEY_PLUGIN;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_CONFIG_KEY_SOURCE")]
+       public const string CONFIG_KEY_SOURCE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_CONFIG_KEY_USERNAME")]
+       public const string CONFIG_KEY_USERNAME;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_COUNT_INFINITY")]
+       public const int COUNT_INFINITY;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_KEYID_FORMAT")]
+       public const string KEYID_FORMAT;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_ALBUM")]
+       public const int METADATA_KEY_ALBUM;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_ARTIST")]
+       public const int METADATA_KEY_ARTIST;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_AUDIO_TRACK")]
+       public const int METADATA_KEY_AUDIO_TRACK;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_AUTHOR")]
+       public const int METADATA_KEY_AUTHOR;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_BITRATE")]
+       public const int METADATA_KEY_BITRATE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_CAMERA_MODEL")]
+       public const int METADATA_KEY_CAMERA_MODEL;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_CERTIFICATE")]
+       public const int METADATA_KEY_CERTIFICATE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_CHILDCOUNT")]
+       public const int METADATA_KEY_CHILDCOUNT;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_CHILDCOUNT_UNKNOWN")]
+       public const int METADATA_KEY_CHILDCOUNT_UNKNOWN;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_CREATION_DATE")]
+       public const int METADATA_KEY_CREATION_DATE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_DESCRIPTION")]
+       public const int METADATA_KEY_DESCRIPTION;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_DIRECTOR")]
+       public const int METADATA_KEY_DIRECTOR;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_DURATION")]
+       public const int METADATA_KEY_DURATION;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_EPISODE")]
+       public const int METADATA_KEY_EPISODE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_EPISODE_TITLE")]
+       public const int METADATA_KEY_EPISODE_TITLE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_EXPOSURE_TIME")]
+       public const int METADATA_KEY_EXPOSURE_TIME;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_EXTERNAL_PLAYER")]
+       public const int METADATA_KEY_EXTERNAL_PLAYER;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_EXTERNAL_URL")]
+       public const int METADATA_KEY_EXTERNAL_URL;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_FAVOURITE")]
+       public const int METADATA_KEY_FAVOURITE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_FLASH_USED")]
+       public const int METADATA_KEY_FLASH_USED;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_FRAMERATE")]
+       public const int METADATA_KEY_FRAMERATE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_GENRE")]
+       public const int METADATA_KEY_GENRE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_HEIGHT")]
+       public const int METADATA_KEY_HEIGHT;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_ID")]
+       public const int METADATA_KEY_ID;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_INVALID")]
+       public const int METADATA_KEY_INVALID;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_ISO_SPEED")]
+       public const int METADATA_KEY_ISO_SPEED;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_KEYWORD")]
+       public const int METADATA_KEY_KEYWORD;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_LAST_PLAYED")]
+       public const int METADATA_KEY_LAST_PLAYED;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_LAST_POSITION")]
+       public const int METADATA_KEY_LAST_POSITION;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_LICENSE")]
+       public const int METADATA_KEY_LICENSE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_LYRICS")]
+       public const int METADATA_KEY_LYRICS;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_MB_ALBUM_ID")]
+       public const int METADATA_KEY_MB_ALBUM_ID;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_MB_ARTIST_ID")]
+       public const int METADATA_KEY_MB_ARTIST_ID;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_MB_RECORDING_ID")]
+       public const int METADATA_KEY_MB_RECORDING_ID;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_MB_TRACK_ID")]
+       public const int METADATA_KEY_MB_TRACK_ID;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_MIME")]
+       public const int METADATA_KEY_MIME;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_MODIFICATION_DATE")]
+       public const int METADATA_KEY_MODIFICATION_DATE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_ORIENTATION")]
+       public const int METADATA_KEY_ORIENTATION;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_ORIGINAL_TITLE")]
+       public const int METADATA_KEY_ORIGINAL_TITLE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_PERFORMER")]
+       public const int METADATA_KEY_PERFORMER;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_PLAY_COUNT")]
+       public const int METADATA_KEY_PLAY_COUNT;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_PRODUCER")]
+       public const int METADATA_KEY_PRODUCER;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_PUBLICATION_DATE")]
+       public const int METADATA_KEY_PUBLICATION_DATE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_RATING")]
+       public const int METADATA_KEY_RATING;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_REGION")]
+       public const int METADATA_KEY_REGION;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_SEASON")]
+       public const int METADATA_KEY_SEASON;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_SHOW")]
+       public const int METADATA_KEY_SHOW;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_SITE")]
+       public const int METADATA_KEY_SITE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_SIZE")]
+       public const int METADATA_KEY_SIZE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_SOURCE")]
+       public const int METADATA_KEY_SOURCE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_START_TIME")]
+       public const int METADATA_KEY_START_TIME;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_STUDIO")]
+       public const int METADATA_KEY_STUDIO;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_THUMBNAIL")]
+       public const int METADATA_KEY_THUMBNAIL;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_THUMBNAIL_BINARY")]
+       public const int METADATA_KEY_THUMBNAIL_BINARY;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_TITLE")]
+       public const int METADATA_KEY_TITLE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_TITLE_FROM_FILENAME")]
+       public const int METADATA_KEY_TITLE_FROM_FILENAME;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_TRACK_NUMBER")]
+       public const int METADATA_KEY_TRACK_NUMBER;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_URL")]
+       public const int METADATA_KEY_URL;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_METADATA_KEY_WIDTH")]
+       public const int METADATA_KEY_WIDTH;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_OPERATION_OPTION_COUNT")]
+       public const string OPERATION_OPTION_COUNT;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_OPERATION_OPTION_KEY_EQUAL_FILTER")]
+       public const string OPERATION_OPTION_KEY_EQUAL_FILTER;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_OPERATION_OPTION_KEY_RANGE_FILTER")]
+       public const string OPERATION_OPTION_KEY_RANGE_FILTER;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_OPERATION_OPTION_RESOLUTION_FLAGS")]
+       public const string OPERATION_OPTION_RESOLUTION_FLAGS;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_OPERATION_OPTION_SKIP")]
+       public const string OPERATION_OPTION_SKIP;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_OPERATION_OPTION_TYPE_FILTER")]
+       public const string OPERATION_OPTION_TYPE_FILTER;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PADDING")]
+       public const int PADDING;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PADDING_SMALL")]
+       public const int PADDING_SMALL;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PLUGIN_AUTHOR")]
+       public const string PLUGIN_AUTHOR;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PLUGIN_DESCRIPTION")]
+       public const string PLUGIN_DESCRIPTION;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PLUGIN_LICENSE")]
+       public const string PLUGIN_LICENSE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PLUGIN_LIST_VAR")]
+       public const string PLUGIN_LIST_VAR;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PLUGIN_NAME")]
+       public const string PLUGIN_NAME;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PLUGIN_PATH_VAR")]
+       public const string PLUGIN_PATH_VAR;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PLUGIN_RANKS_VAR")]
+       public const string PLUGIN_RANKS_VAR;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PLUGIN_SITE")]
+       public const string PLUGIN_SITE;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_PLUGIN_VERSION")]
+       public const string PLUGIN_VERSION;
+       [CCode (cheader_filename = "grilo.h", cname = "GRL_SOURCE_REMAINING_UNKNOWN")]
+       public const int SOURCE_REMAINING_UNKNOWN;
+       [CCode (cheader_filename = "grilo.h")]
+       public static GLib.DateTime date_time_from_iso8601 (string date);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void deinit ();
+       [CCode (cheader_filename = "grilo.h")]
+       public static GLib.Value? g_value_dup (GLib.Value value);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void g_value_free (GLib.Value value);
+       [CCode (cheader_filename = "grilo.h")]
+       public static GLib.HashTable<string,GLib.Value?> g_value_hashtable_new ();
+       [CCode (cheader_filename = "grilo.h")]
+       public static GLib.HashTable<void*,GLib.Value?> g_value_hashtable_new_direct ();
+       [CCode (cheader_filename = "grilo.h")]
+       public static GLib.Value? g_value_new (GLib.Type g_type);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void init ([CCode (array_length_cname = "argc", array_length_pos = 0.5)] ref unowned string[]? argv);
+       [CCode (cheader_filename = "grilo.h")]
+       public static GLib.OptionGroup init_get_option_group ();
+       [CCode (cheader_filename = "grilo.h")]
+       public static void log_configure (string config);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void marshal_VOID__BOXED_ENUM_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+       [CCode (cheader_filename = "grilo.h")]
+       public static unowned string metadata_key_get_desc (Grl.KeyID key);
+       [CCode (cheader_filename = "grilo.h")]
+       public static unowned string metadata_key_get_name (Grl.KeyID key);
+       [CCode (cheader_filename = "grilo.h")]
+       public static GLib.Type metadata_key_get_type (Grl.KeyID key);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void metadata_key_setup_system_keys (Grl.Registry registry);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void multiple_get_media_from_uri (string uri, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options, Grl.SourceResolveCb callback);
+       [CCode (cheader_filename = "grilo.h")]
+       public static uint multiple_search (GLib.List<Grl.Source>? sources, string text, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options, Grl.SourceResultCb callback);
+       [CCode (cheader_filename = "grilo.h")]
+       public static GLib.List<Grl.Media> multiple_search_sync (GLib.List<Grl.Source>? sources, string text, GLib.List<Grl.KeyID> keys, Grl.OperationOptions options) throws GLib.Error;
+       [CCode (cheader_filename = "grilo.h")]
+       public static void operation_cancel (uint operation_id);
+       [CCode (cheader_filename = "grilo.h")]
+       public static uint operation_generate_id ();
+       [CCode (cheader_filename = "grilo.h")]
+       public static void* operation_get_data (uint operation_id);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void operation_init ();
+       [CCode (cheader_filename = "grilo.h")]
+       public static void operation_remove (uint operation_id);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void operation_set_data (uint operation_id, void* user_data);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void operation_set_data_full (uint operation_id, void* user_data, GLib.DestroyNotify? destroy_func);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void operation_set_private_data (uint operation_id, void* private_data, [CCode (destroy_notify_pos = 3.1)] owned Grl.OperationCancelCb cancel_cb);
+       [CCode (cheader_filename = "grilo.h")]
+       public static void paging_translate (uint skip, uint count, uint max_page_size, uint page_size, uint page_number, uint internal_offset);
+}
diff --git a/multimedia/grilo/files/grilo-net-0.3.vapi b/multimedia/grilo/files/grilo-net-0.3.vapi
new file mode 100644 (file)
index 0000000..b5f6cef
--- /dev/null
@@ -0,0 +1,43 @@
+/* grilo-net-0.3.vapi generated by vapigen-0.30, do not modify. */
+
+[CCode (cprefix = "GrlNet", gir_namespace = "GrlNet", gir_version = "0.3", lower_case_cprefix = "grl_net_")]
+namespace GrlNet {
+       [CCode (cheader_filename = "net/grl-net.h", type_id = "grl_net_wc_get_type ()")]
+       public class Wc : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public Wc ();
+               public static GLib.Quark error_quark ();
+               public void flush_delayed_requests ();
+               public async bool request_async (string uri, GLib.Cancellable? cancellable, out unowned string content, out size_t length) throws GLib.Error;
+               [CCode (finish_name = "grl_net_wc_request_finish")]
+               public async bool request_with_headers_async (string uri, GLib.Cancellable? cancellable, ..., out unowned string content, out size_t length) throws GLib.Error;
+               [CCode (finish_name = "grl_net_wc_request_finish")]
+               public async bool request_with_headers_hash_async (string uri, GLib.HashTable<string,string>? headers, GLib.Cancellable? cancellable, out unowned string content, out size_t length) throws GLib.Error;
+               public void set_cache (bool use_cache);
+               public void set_cache_size (uint cache_size);
+               public void set_log_level (uint log_level);
+               public void set_throttling (uint throttling);
+               [NoAccessorMethod]
+               public bool cache { get; set construct; }
+               [NoAccessorMethod]
+               public uint cache_size { get; set construct; }
+               [NoAccessorMethod]
+               public uint loglevel { get; set; }
+               [NoAccessorMethod]
+               public uint throttling { get; set; }
+               [NoAccessorMethod]
+               public string user_agent { owned get; set construct; }
+       }
+       [CCode (cheader_filename = "net/grl-net.h", cprefix = "GRL_NET_WC_ERROR_", has_type_id = false)]
+       public enum WcError {
+               UNAVAILABLE,
+               PROTOCOL_ERROR,
+               AUTHENTICATION_REQUIRED,
+               NOT_FOUND,
+               CONFLICT,
+               FORBIDDEN,
+               NETWORK_ERROR,
+               PROXY_ERROR,
+               CANCELLED
+       }
+}
index 36a25293a970351983c70a4559e0f88e53e2f3b0..4bbd23c23e800ff55fd0ecdca438995b97f8a6b5 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-libav
-PKG_VERSION:=1.4.5
+PKG_VERSION:=1.6.2
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 
 PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-libav
-PKG_MD5SUM:=f4922a46adbcbe7bd01331ff5dc7979d
+PKG_MD5SUM:=09644a38827d233f53edeac815dd0ec0
 
 PKG_LICENSE:=GPL-2.0 LGPL-2.0
 PKG_LICENSE_FILES:=COPYING COPYING.LIB
index ca04b8d8ff96f6241871e1e1bc06b01a57222bee..d6e1fb600b3b046fcd0bb6aae85a5b6b72b6ca66 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-bad
-PKG_VERSION:=1.4.5
-PKG_RELEASE:=3
+PKG_VERSION:=1.6.2
+PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 
@@ -19,7 +19,7 @@ PKG_LICENSE_FILES:=COPYING.LIB COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-bad-$(PKG_VERSION)
 PKG_SOURCE:=gst-plugins-bad-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-bad/
-PKG_MD5SUM:=e0bb39412cf4a48fe0397bcf3a7cd451
+PKG_MD5SUM:=7c73bec1d389f0e184ebbbbb9e9f883d
 
 PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
 
diff --git a/multimedia/gst1-plugins-bad/patches/000-gettext.patch b/multimedia/gst1-plugins-bad/patches/000-gettext.patch
deleted file mode 100644 (file)
index 1c0d88e..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -3334,7 +3334,6 @@ ext/timidity/Makefile
- ext/webp/Makefile
- ext/xvid/Makefile
- ext/zbar/Makefile
--po/Makefile.in
- docs/Makefile
- docs/plugins/Makefile
- docs/libs/Makefile
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,11 +2,11 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-d
- SUBDIRS = \
-       gst-libs gst sys ext pkgconfig \
--      m4 common docs tests po tools
-+      m4 common docs tests tools
- DIST_SUBDIRS = \
-       gst gst-libs sys ext pkgconfig \
--      m4 common docs tests po tools
-+      m4 common docs tests tools
- # include before EXTRA_DIST for win32 assignment
- include $(top_srcdir)/common/win32.mak
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -739,11 +739,11 @@ wayland_scanner = @wayland_scanner@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
- SUBDIRS = \
-       gst-libs gst sys ext pkgconfig \
--      m4 common docs tests po tools
-+      m4 common docs tests tools
- DIST_SUBDIRS = \
-       gst gst-libs sys ext pkgconfig \
--      m4 common docs tests po tools
-+      m4 common docs tests tools
- # the MANIFEST contains all win32 related files that should be disted
diff --git a/multimedia/gst1-plugins-bad/patches/001-no-translations.patch b/multimedia/gst1-plugins-bad/patches/001-no-translations.patch
new file mode 100644 (file)
index 0000000..8ea31a7
--- /dev/null
@@ -0,0 +1,28 @@
+diff -u --recursive gst-plugins-bad-1.6.2-vanilla/configure.ac gst-plugins-bad-1.6.2/configure.ac
+--- gst-plugins-bad-1.6.2-vanilla/configure.ac 2016-01-01 10:40:17.883755147 -0500
++++ gst-plugins-bad-1.6.2/configure.ac 2016-01-01 10:41:14.832426692 -0500
+@@ -3455,7 +3455,6 @@
+ ext/xvid/Makefile
+ ext/zbar/Makefile
+ ext/dtls/Makefile
+-po/Makefile.in
+ docs/Makefile
+ docs/plugins/Makefile
+ docs/libs/Makefile
+diff -u --recursive gst-plugins-bad-1.6.2-vanilla/Makefile.am gst-plugins-bad-1.6.2/Makefile.am
+--- gst-plugins-bad-1.6.2-vanilla/Makefile.am  2016-01-01 10:40:17.883755147 -0500
++++ gst-plugins-bad-1.6.2/Makefile.am  2016-01-01 10:41:47.607858580 -0500
+@@ -2,11 +2,11 @@
+ SUBDIRS = \
+       gst-libs gst sys ext pkgconfig \
+-      m4 common docs tests po tools
++      m4 common docs tests tools
+ DIST_SUBDIRS = \
+       gst gst-libs sys ext pkgconfig \
+-      m4 common docs tests po tools
++      m4 common docs tests tools
+ # include before EXTRA_DIST for win32 assignment
+ include $(top_srcdir)/common/win32.mak
diff --git a/multimedia/gst1-plugins-bad/patches/002-no-tests.patch b/multimedia/gst1-plugins-bad/patches/002-no-tests.patch
new file mode 100644 (file)
index 0000000..5d69bb1
--- /dev/null
@@ -0,0 +1,58 @@
+diff -u --recursive gst-plugins-bad-1.6.2-vanilla/configure.ac gst-plugins-bad-1.6.2/configure.ac
+--- gst-plugins-bad-1.6.2-vanilla/configure.ac 2016-01-01 11:58:54.503551141 -0500
++++ gst-plugins-bad-1.6.2/configure.ac 2016-01-01 11:50:38.388185503 -0500
+@@ -3355,37 +3355,6 @@
+ sys/wininet/Makefile
+ sys/winks/Makefile
+ sys/winscreencap/Makefile
+-tests/Makefile
+-tests/check/Makefile
+-tests/files/Makefile
+-tests/examples/Makefile
+-tests/examples/avsamplesink/Makefile
+-tests/examples/camerabin2/Makefile
+-tests/examples/codecparsers/Makefile
+-tests/examples/directfb/Makefile
+-tests/examples/gl/Makefile
+-tests/examples/gl/cocoa/Makefile
+-tests/examples/gl/clutter/Makefile
+-tests/examples/gl/generic/Makefile
+-tests/examples/gl/generic/cube/Makefile
+-tests/examples/gl/generic/cubeyuv/Makefile
+-tests/examples/gl/generic/doublecube/Makefile
+-tests/examples/gl/generic/recordgraphic/Makefile
+-tests/examples/gl/gtk/Makefile
+-tests/examples/gl/gtk/gtkvideooverlay/Makefile
+-tests/examples/gl/gtk/3dvideo/Makefile
+-tests/examples/gl/gtk/filternovideooverlay/Makefile
+-tests/examples/gl/gtk/filtervideooverlay/Makefile
+-tests/examples/gl/gtk/fxtest/Makefile
+-tests/examples/gl/gtk/switchvideooverlay/Makefile
+-tests/examples/gl/qt/Makefile
+-tests/examples/gl/sdl/Makefile
+-tests/examples/gtk/Makefile
+-tests/examples/mpegts/Makefile
+-tests/examples/mxf/Makefile
+-tests/examples/opencv/Makefile
+-tests/examples/uvch264/Makefile
+-tests/icles/Makefile
+ ext/voamrwbenc/Makefile
+ ext/voaacenc/Makefile
+ ext/assrender/Makefile
+diff -u --recursive gst-plugins-bad-1.6.2-vanilla/Makefile.am gst-plugins-bad-1.6.2/Makefile.am
+--- gst-plugins-bad-1.6.2-vanilla/Makefile.am  2016-01-01 11:58:54.504551169 -0500
++++ gst-plugins-bad-1.6.2/Makefile.am  2016-01-01 11:50:06.848314203 -0500
+@@ -2,11 +2,11 @@
+ SUBDIRS = \
+       gst-libs gst sys ext pkgconfig \
+-      m4 common docs tests tools
++      m4 common docs tools
+ DIST_SUBDIRS = \
+       gst gst-libs sys ext pkgconfig \
+-      m4 common docs tests tools
++      m4 common docs tools
+ # include before EXTRA_DIST for win32 assignment
+ include $(top_srcdir)/common/win32.mak
index 6f7cda5d8823069ac6fb7c3399684777b5498bfc..34ae6056739a9710d5902df42d1e9407cdd740d4 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-base
-PKG_VERSION:=1.4.5
+PKG_VERSION:=1.6.2
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
@@ -19,7 +19,7 @@ PKG_LICENSE_FILES:=COPYING.LIB COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-base-$(PKG_VERSION)
 PKG_SOURCE:=gst-plugins-base-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-base/
-PKG_MD5SUM:=357165af625c0ca353ab47c5d843920e
+PKG_MD5SUM:=f530fbbe287edce79c55a37bd1a39fe2
 
 PKG_BUILD_DEPENDS:= libgstreamer1
 PKG_CONFIG_DEPENDS:= \
@@ -275,7 +275,7 @@ $(eval $(call GstBuildPlugin,audiotestsrc,audio test,audio tag controller,,))
 $(eval $(call GstBuildPlugin,playback,media decoder (v2),pbutils,,))
 $(eval $(call GstBuildPlugin,gio,GIO,,,))
 $(eval $(call GstBuildPlugin,ogg,Ogg,riff tag pbutils video,,+libogg))
-$(eval $(call GstBuildPlugin,tcp,TCP,,,))
+$(eval $(call GstBuildPlugin,tcp,TCP,net,,))
 $(eval $(call GstBuildPlugin,theora,Theora,tag video,,+libogg +libtheora))
 $(eval $(call GstBuildPlugin,typefindfunctions,'typefind' functions,audio pbutils tag video,,))
 $(eval $(call GstBuildPlugin,videoconvert,video format conversion,video,,))
diff --git a/multimedia/gst1-plugins-base/patches/001-no-translations.patch b/multimedia/gst1-plugins-base/patches/001-no-translations.patch
new file mode 100644 (file)
index 0000000..9a9ec77
--- /dev/null
@@ -0,0 +1,30 @@
+diff -u --recursive gst-plugins-base-1.6.2-vanilla/configure.ac gst-plugins-base-1.6.2/configure.ac
+--- gst-plugins-base-1.6.2-vanilla/configure.ac        2016-01-01 10:40:17.931759357 -0500
++++ gst-plugins-base-1.6.2/configure.ac        2016-01-01 10:43:44.374351388 -0500
+@@ -921,7 +921,6 @@
+ docs/libs/Makefile
+ docs/plugins/Makefile
+ docs/version.entities
+-po/Makefile.in
+ common/Makefile
+ common/m4/Makefile
+ m4/Makefile
+diff -u --recursive gst-plugins-base-1.6.2-vanilla/Makefile.am gst-plugins-base-1.6.2/Makefile.am
+--- gst-plugins-base-1.6.2-vanilla/Makefile.am 2016-01-01 10:40:17.931759357 -0500
++++ gst-plugins-base-1.6.2/Makefile.am 2016-01-01 10:44:17.403209313 -0500
+@@ -13,7 +13,6 @@
+       tools                   \
+       tests                   \
+       docs                    \
+-      po                      \
+       common                  \
+       m4
+@@ -24,7 +23,6 @@
+       gst sys ext             \
+       tools                   \
+       tests                   \
+-      po                      \
+       common                  \
+       m4
diff --git a/multimedia/gst1-plugins-base/patches/001-no_docs.patch b/multimedia/gst1-plugins-base/patches/001-no_docs.patch
deleted file mode 100644 (file)
index 0044cec..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -12,14 +12,12 @@ SUBDIRS =                  \
-       gst sys $(SUBDIRS_EXT)  \
-       tools                   \
-       tests                   \
--      docs                    \
-       po                      \
-       common                  \
-       m4
- DIST_SUBDIRS =                        \
-       pkgconfig               \
--      docs                    \
-       gst-libs                \
-       gst sys ext             \
-       tools                   \
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -539,14 +539,12 @@ SUBDIRS = \
-       gst sys $(SUBDIRS_EXT)  \
-       tools                   \
-       tests                   \
--      docs                    \
-       po                      \
-       common                  \
-       m4
- DIST_SUBDIRS = \
-       pkgconfig               \
--      docs                    \
-       gst-libs                \
-       gst sys ext             \
-       tools                   \
diff --git a/multimedia/gst1-plugins-base/patches/002-no-tests.patch b/multimedia/gst1-plugins-base/patches/002-no-tests.patch
new file mode 100644 (file)
index 0000000..7754a2c
--- /dev/null
@@ -0,0 +1,46 @@
+diff -u --recursive gst-plugins-base-1.6.2-vanilla/configure.ac gst-plugins-base-1.6.2/configure.ac
+--- gst-plugins-base-1.6.2-vanilla/configure.ac        2016-01-01 12:00:43.489564691 -0500
++++ gst-plugins-base-1.6.2/configure.ac        2016-01-01 12:02:24.452371618 -0500
+@@ -899,23 +899,6 @@
+ pkgconfig/gstreamer-video-uninstalled.pc
+ pkgconfig/gstreamer-plugins-base.pc
+ pkgconfig/gstreamer-plugins-base-uninstalled.pc
+-tests/Makefile
+-tests/check/Makefile
+-tests/examples/Makefile
+-tests/examples/app/Makefile
+-tests/examples/audio/Makefile
+-tests/examples/dynamic/Makefile
+-tests/examples/encoding/Makefile
+-tests/examples/fft/Makefile
+-tests/examples/gio/Makefile
+-tests/examples/overlay/Makefile
+-tests/examples/seek/Makefile
+-tests/examples/snapshot/Makefile
+-tests/examples/playback/Makefile
+-tests/examples/playrec/Makefile
+-tests/files/Makefile
+-tests/icles/Makefile
+-tests/icles/playback/Makefile
+ docs/Makefile
+ docs/design/Makefile
+ docs/libs/Makefile
+diff -u --recursive gst-plugins-base-1.6.2-vanilla/Makefile.am gst-plugins-base-1.6.2/Makefile.am
+--- gst-plugins-base-1.6.2-vanilla/Makefile.am 2016-01-01 12:00:43.489564691 -0500
++++ gst-plugins-base-1.6.2/Makefile.am 2016-01-01 12:01:54.055525170 -0500
+@@ -11,7 +11,6 @@
+       gst-libs                \
+       gst sys $(SUBDIRS_EXT)  \
+       tools                   \
+-      tests                   \
+       docs                    \
+       common                  \
+       m4
+@@ -22,7 +21,6 @@
+       gst-libs                \
+       gst sys ext             \
+       tools                   \
+-      tests                   \
+       common                  \
+       m4
diff --git a/multimedia/gst1-plugins-base/patches/002-no_tests.patch b/multimedia/gst1-plugins-base/patches/002-no_tests.patch
deleted file mode 100644 (file)
index 3e8c93d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -11,7 +11,6 @@ SUBDIRS =                    \
-       gst-libs                \
-       gst sys $(SUBDIRS_EXT)  \
-       tools                   \
--      tests                   \
-       po                      \
-       common                  \
-       m4
-@@ -21,7 +20,6 @@ DIST_SUBDIRS =                       \
-       gst-libs                \
-       gst sys ext             \
-       tools                   \
--      tests                   \
-       po                      \
-       common                  \
-       m4
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -538,7 +538,6 @@ SUBDIRS = \
-       gst-libs                \
-       gst sys $(SUBDIRS_EXT)  \
-       tools                   \
--      tests                   \
-       po                      \
-       common                  \
-       m4
-@@ -548,7 +547,6 @@ DIST_SUBDIRS = \
-       gst-libs                \
-       gst sys ext             \
-       tools                   \
--      tests                   \
-       po                      \
-       common                  \
-       m4
diff --git a/multimedia/gst1-plugins-base/patches/003-no-docs.patch b/multimedia/gst1-plugins-base/patches/003-no-docs.patch
new file mode 100644 (file)
index 0000000..6fa663d
--- /dev/null
@@ -0,0 +1,32 @@
+diff -u --recursive gst-plugins-base-1.6.2-vanilla/configure.ac gst-plugins-base-1.6.2/configure.ac
+--- gst-plugins-base-1.6.2-vanilla/configure.ac        2016-01-01 12:10:41.158319142 -0500
++++ gst-plugins-base-1.6.2/configure.ac        2016-01-01 12:07:36.271107197 -0500
+@@ -899,11 +899,6 @@
+ pkgconfig/gstreamer-video-uninstalled.pc
+ pkgconfig/gstreamer-plugins-base.pc
+ pkgconfig/gstreamer-plugins-base-uninstalled.pc
+-docs/Makefile
+-docs/design/Makefile
+-docs/libs/Makefile
+-docs/plugins/Makefile
+-docs/version.entities
+ common/Makefile
+ common/m4/Makefile
+ m4/Makefile
+diff -u --recursive gst-plugins-base-1.6.2-vanilla/Makefile.am gst-plugins-base-1.6.2/Makefile.am
+--- gst-plugins-base-1.6.2-vanilla/Makefile.am 2016-01-01 12:10:41.159319170 -0500
++++ gst-plugins-base-1.6.2/Makefile.am 2016-01-01 12:07:32.869011473 -0500
+@@ -11,13 +11,11 @@
+       gst-libs                \
+       gst sys $(SUBDIRS_EXT)  \
+       tools                   \
+-      docs                    \
+       common                  \
+       m4
+ DIST_SUBDIRS =                        \
+       pkgconfig               \
+-      docs                    \
+       gst-libs                \
+       gst sys ext             \
+       tools                   \
diff --git a/multimedia/gst1-plugins-base/patches/003-no_translations.patch b/multimedia/gst1-plugins-base/patches/003-no_translations.patch
deleted file mode 100644 (file)
index 894c8da..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -918,7 +918,6 @@ docs/design/Makefile
- docs/libs/Makefile
- docs/plugins/Makefile
- docs/version.entities
--po/Makefile.in
- common/Makefile
- common/m4/Makefile
- m4/Makefile
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -11,7 +11,6 @@ SUBDIRS =                    \
-       gst-libs                \
-       gst sys $(SUBDIRS_EXT)  \
-       tools                   \
--      po                      \
-       common                  \
-       m4
-@@ -20,7 +19,6 @@ DIST_SUBDIRS =                       \
-       gst-libs                \
-       gst sys ext             \
-       tools                   \
--      po                      \
-       common                  \
-       m4
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -538,7 +538,6 @@ SUBDIRS = \
-       gst-libs                \
-       gst sys $(SUBDIRS_EXT)  \
-       tools                   \
--      po                      \
-       common                  \
-       m4
-@@ -547,7 +546,6 @@ DIST_SUBDIRS = \
-       gst-libs                \
-       gst sys ext             \
-       tools                   \
--      po                      \
-       common                  \
-       m4
index f52d82fc3f1447568e3d05143d3c461ee5fde99b..8e7fcbe9038c6b3fdeef4bb09608cd7af2b67350 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-good
-PKG_VERSION:=1.4.5
-PKG_RELEASE:=2
+PKG_VERSION:=1.6.2
+PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 
@@ -19,7 +19,7 @@ PKG_LICENSE_FILES:=COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-good-$(PKG_VERSION)
 PKG_SOURCE:=gst-plugins-good-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-good/
-PKG_MD5SUM:=eaf1a6daf73749bc423feac301d60038
+PKG_MD5SUM:=ef4f5bc4f31f706832a234b0f603967b
 
 PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
 
@@ -189,8 +189,8 @@ $(eval $(call GstBuildPlugin,flac,FLAC codec,audio pbutils tag,,+libflac))
 $(eval $(call GstBuildPlugin,flv,flv codec,audio pbutils tag video,,))
 $(eval $(call GstBuildPlugin,flxdec,flx codec,,,))
 #$(eval $(call GstBuildPlugin,gdkpixbuf,gdkpixbuf support,video,,))
-$(eval $(call GstBuildPlugin,goom2k1,goom support,,,))
-$(eval $(call GstBuildPlugin,goom,goom support,,,))
+$(eval $(call GstBuildPlugin,goom2k1,goom support,audio video,,))
+$(eval $(call GstBuildPlugin,goom,goom support,audio video,,))
 $(eval $(call GstBuildPlugin,icydemux,icy demuxer,audio tag,,))
 $(eval $(call GstBuildPlugin,id3demux,ID3v1/v2 demuxer,pbutils tag,,))
 $(eval $(call GstBuildPlugin,imagefreeze,imagefreeze support,,,))
diff --git a/multimedia/gst1-plugins-good/patches/001-no-translations.patch b/multimedia/gst1-plugins-good/patches/001-no-translations.patch
new file mode 100644 (file)
index 0000000..6d3ace8
--- /dev/null
@@ -0,0 +1,22 @@
+diff -u --recursive gst-plugins-good-1.6.2-vanilla/configure.ac gst-plugins-good-1.6.2/configure.ac
+--- gst-plugins-good-1.6.2-vanilla/configure.ac        2016-01-01 10:40:17.994764882 -0500
++++ gst-plugins-good-1.6.2/configure.ac        2016-01-01 10:45:25.668599823 -0500
+@@ -1014,7 +1014,6 @@
+ sys/v4l2/Makefile
+ sys/waveform/Makefile
+ sys/ximage/Makefile
+-po/Makefile.in
+ tests/Makefile
+ tests/check/Makefile
+ tests/examples/Makefile
+diff -u --recursive gst-plugins-good-1.6.2-vanilla/Makefile.am gst-plugins-good-1.6.2/Makefile.am
+--- gst-plugins-good-1.6.2-vanilla/Makefile.am 2016-01-01 10:40:17.994764882 -0500
++++ gst-plugins-good-1.6.2/Makefile.am 2016-01-01 10:45:19.923089598 -0500
+@@ -4,7 +4,6 @@
+       gst sys ext             \
+       tests                   \
+       docs                    \
+-      po                      \
+       common                  \
+       m4                      \
+       pkgconfig
diff --git a/multimedia/gst1-plugins-good/patches/001-no_docs.patch b/multimedia/gst1-plugins-good/patches/001-no_docs.patch
deleted file mode 100644 (file)
index 21c10c3..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -3,7 +3,6 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-d
- ALWAYS_SUBDIRS =              \
-       gst sys ext             \
-       tests                   \
--      docs                    \
-       po                      \
-       common                  \
-       m4                      \
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -571,7 +571,6 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-gtk
- ALWAYS_SUBDIRS = \
-       gst sys ext             \
-       tests                   \
--      docs                    \
-       po                      \
-       common                  \
-       m4                      \
diff --git a/multimedia/gst1-plugins-good/patches/002-no-tests.patch b/multimedia/gst1-plugins-good/patches/002-no-tests.patch
new file mode 100644 (file)
index 0000000..58ad738
--- /dev/null
@@ -0,0 +1,36 @@
+diff -u --recursive gst-plugins-good-1.6.2-vanilla/configure.ac gst-plugins-good-1.6.2/configure.ac
+--- gst-plugins-good-1.6.2-vanilla/configure.ac        2016-01-01 12:00:52.525815362 -0500
++++ gst-plugins-good-1.6.2/configure.ac        2016-01-01 12:03:22.198982586 -0500
+@@ -1014,21 +1014,6 @@
+ sys/v4l2/Makefile
+ sys/waveform/Makefile
+ sys/ximage/Makefile
+-tests/Makefile
+-tests/check/Makefile
+-tests/examples/Makefile
+-tests/examples/audiofx/Makefile
+-tests/examples/cairo/Makefile
+-tests/examples/equalizer/Makefile
+-tests/examples/jack/Makefile
+-tests/examples/level/Makefile
+-tests/examples/pulse/Makefile
+-tests/examples/rtp/Makefile
+-tests/examples/shapewipe/Makefile
+-tests/examples/spectrum/Makefile
+-tests/examples/v4l2/Makefile
+-tests/files/Makefile
+-tests/icles/Makefile
+ common/Makefile
+ common/m4/Makefile
+ m4/Makefile
+diff -u --recursive gst-plugins-good-1.6.2-vanilla/Makefile.am gst-plugins-good-1.6.2/Makefile.am
+--- gst-plugins-good-1.6.2-vanilla/Makefile.am 2016-01-01 12:00:52.525815362 -0500
++++ gst-plugins-good-1.6.2/Makefile.am 2016-01-01 12:03:06.921556033 -0500
+@@ -2,7 +2,6 @@
+ ALWAYS_SUBDIRS =              \
+       gst sys ext             \
+-      tests                   \
+       docs                    \
+       common                  \
+       m4                      \
diff --git a/multimedia/gst1-plugins-good/patches/002-no_tests.patch b/multimedia/gst1-plugins-good/patches/002-no_tests.patch
deleted file mode 100644 (file)
index ed922c5..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,7 +2,6 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-d
- ALWAYS_SUBDIRS =              \
-       gst sys ext             \
--      tests                   \
-       po                      \
-       common                  \
-       m4                      \
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -570,7 +570,6 @@ top_srcdir = @top_srcdir@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
- ALWAYS_SUBDIRS = \
-       gst sys ext             \
--      tests                   \
-       po                      \
-       common                  \
-       m4                      \
diff --git a/multimedia/gst1-plugins-good/patches/003-no-docs.patch b/multimedia/gst1-plugins-good/patches/003-no-docs.patch
new file mode 100644 (file)
index 0000000..c844d1a
--- /dev/null
@@ -0,0 +1,24 @@
+diff -u --recursive gst-plugins-good-1.6.2-vanilla/configure.ac gst-plugins-good-1.6.2/configure.ac
+--- gst-plugins-good-1.6.2-vanilla/configure.ac        2016-01-01 12:10:51.392608142 -0500
++++ gst-plugins-good-1.6.2/configure.ac        2016-01-01 12:08:39.568889466 -0500
+@@ -1017,9 +1017,6 @@
+ common/Makefile
+ common/m4/Makefile
+ m4/Makefile
+-docs/Makefile
+-docs/plugins/Makefile
+-docs/version.entities
+ pkgconfig/Makefile
+ pkgconfig/gstreamer-plugins-good-uninstalled.pc
+ gst-plugins-good.spec
+diff -u --recursive gst-plugins-good-1.6.2-vanilla/Makefile.am gst-plugins-good-1.6.2/Makefile.am
+--- gst-plugins-good-1.6.2-vanilla/Makefile.am 2016-01-01 12:10:51.393608170 -0500
++++ gst-plugins-good-1.6.2/Makefile.am 2016-01-01 12:08:35.442773216 -0500
+@@ -2,7 +2,6 @@
+ ALWAYS_SUBDIRS =              \
+       gst sys ext             \
+-      docs                    \
+       common                  \
+       m4                      \
+       pkgconfig
diff --git a/multimedia/gst1-plugins-good/patches/003-no_translations.patch b/multimedia/gst1-plugins-good/patches/003-no_translations.patch
deleted file mode 100644 (file)
index 16d1b7e..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -1083,7 +1083,6 @@ sys/sunaudio/Makefile
- sys/v4l2/Makefile
- sys/waveform/Makefile
- sys/ximage/Makefile
--po/Makefile.in
- tests/Makefile
- tests/check/Makefile
- tests/examples/Makefile
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,7 +2,6 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-d
- ALWAYS_SUBDIRS =              \
-       gst sys ext             \
--      po                      \
-       common                  \
-       m4                      \
-       pkgconfig
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -570,7 +570,6 @@ top_srcdir = @top_srcdir@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
- ALWAYS_SUBDIRS = \
-       gst sys ext             \
--      po                      \
-       common                  \
-       m4                      \
-       pkgconfig
index 26c7995aad22402dca03c1b276d988690a36ad52..78dfaf791c744a335925ab464f2e4e951b179111 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-ugly
-PKG_VERSION:=1.4.5
+PKG_VERSION:=1.6.2
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
@@ -19,7 +19,7 @@ PKG_LICENSE_FILES:=COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-ugly-$(PKG_VERSION)
 PKG_SOURCE:=gst-plugins-ugly-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-ugly/
-PKG_MD5SUM:=6954beed7bb9a93e426dee543ff46393
+PKG_MD5SUM:=0f0e30336e3155443cd5bfec5c215d56
 
 PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
 PKG_CONFIG_DEPENDS:= \
@@ -167,7 +167,7 @@ define GstBuildPlugin
   $$(eval $$(call BuildPackage,gst1-mod-$(1)))
 endef
 
-$(eval $(call GstBuildPlugin,asf,ASF demuxer,audio riff rtp rtsp sdp tag,,))
+$(eval $(call GstBuildPlugin,asf,ASF demuxer,audio video riff rtp rtsp sdp tag,,))
 $(eval $(call GstBuildPlugin,lame,MP3 encoder (using LAME),audio,,+lame-lib))
 $(eval $(call GstBuildPlugin,mad,MP3 decoder (using MAD),audio tag,,+libid3tag +libmad))
 $(eval $(call GstBuildPlugin,mpeg2dec,MPEG decoder,video,,+libmpeg2))
diff --git a/multimedia/gst1-plugins-ugly/patches/001-no-translations.patch b/multimedia/gst1-plugins-ugly/patches/001-no-translations.patch
new file mode 100644 (file)
index 0000000..ea02ec8
--- /dev/null
@@ -0,0 +1,23 @@
+diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/configure.ac gst-plugins-ugly-1.6.2/configure.ac
+--- gst-plugins-ugly-1.6.2-vanilla/configure.ac        2016-01-01 10:47:06.333623730 -0500
++++ gst-plugins-ugly-1.6.2/configure.ac        2016-01-01 10:47:20.211613708 -0500
+@@ -470,7 +470,6 @@
+ tests/Makefile
+ tests/check/Makefile
+ m4/Makefile
+-po/Makefile.in
+ pkgconfig/Makefile
+ pkgconfig/gstreamer-plugins-ugly-uninstalled.pc
+ gst-plugins-ugly.spec
+diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/Makefile.am gst-plugins-ugly-1.6.2/Makefile.am
+--- gst-plugins-ugly-1.6.2-vanilla/Makefile.am 2016-01-01 10:47:06.333623730 -0500
++++ gst-plugins-ugly-1.6.2/Makefile.am 2016-01-01 10:47:14.523210855 -0500
+@@ -1,7 +1,7 @@
+ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+ SUBDIRS = \
+-      gst-libs gst ext docs m4 tests common pkgconfig po
++      gst-libs gst ext docs m4 tests common pkgconfig
+ # include before EXTRA_DIST for win32 assignment
+ include $(top_srcdir)/common/win32.mak
diff --git a/multimedia/gst1-plugins-ugly/patches/001-no_docs.patch b/multimedia/gst1-plugins-ugly/patches/001-no_docs.patch
deleted file mode 100644 (file)
index 72c880a..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,7 +1,7 @@
- DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
- SUBDIRS = \
--      gst-libs gst ext docs m4 tests common pkgconfig po
-+      gst-libs gst ext m4 tests common pkgconfig po
- # include before EXTRA_DIST for win32 assignment
- include $(top_srcdir)/common/win32.mak
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -502,7 +502,7 @@ top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
- SUBDIRS = \
--      gst-libs gst ext docs m4 tests common pkgconfig po
-+      gst-libs gst ext m4 tests common pkgconfig po
- # the MANIFEST contains all win32 related files that should be disted
diff --git a/multimedia/gst1-plugins-ugly/patches/002-no-tests.patch b/multimedia/gst1-plugins-ugly/patches/002-no-tests.patch
new file mode 100644 (file)
index 0000000..993d4f3
--- /dev/null
@@ -0,0 +1,24 @@
+diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/configure.ac gst-plugins-ugly-1.6.2/configure.ac
+--- gst-plugins-ugly-1.6.2-vanilla/configure.ac        2016-01-01 12:01:01.547065731 -0500
++++ gst-plugins-ugly-1.6.2/configure.ac        2016-01-01 12:04:18.111545715 -0500
+@@ -467,8 +467,6 @@
+ docs/Makefile
+ docs/plugins/Makefile
+ docs/version.entities
+-tests/Makefile
+-tests/check/Makefile
+ m4/Makefile
+ pkgconfig/Makefile
+ pkgconfig/gstreamer-plugins-ugly-uninstalled.pc
+diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/Makefile.am gst-plugins-ugly-1.6.2/Makefile.am
+--- gst-plugins-ugly-1.6.2-vanilla/Makefile.am 2016-01-01 12:01:01.547065731 -0500
++++ gst-plugins-ugly-1.6.2/Makefile.am 2016-01-01 12:04:12.087377153 -0500
+@@ -1,7 +1,7 @@
+ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+ SUBDIRS = \
+-      gst-libs gst ext docs m4 tests common pkgconfig
++      gst-libs gst ext docs m4 common pkgconfig
+ # include before EXTRA_DIST for win32 assignment
+ include $(top_srcdir)/common/win32.mak
diff --git a/multimedia/gst1-plugins-ugly/patches/002-no_tests.patch b/multimedia/gst1-plugins-ugly/patches/002-no_tests.patch
deleted file mode 100644 (file)
index 1611671..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,7 +1,7 @@
- DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
- SUBDIRS = \
--      gst-libs gst ext m4 tests common pkgconfig po
-+      gst-libs gst ext m4 common pkgconfig po
- # include before EXTRA_DIST for win32 assignment
- include $(top_srcdir)/common/win32.mak
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -502,7 +502,7 @@ top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
- SUBDIRS = \
--      gst-libs gst ext m4 tests common pkgconfig po
-+      gst-libs gst ext m4 common pkgconfig po
- # the MANIFEST contains all win32 related files that should be disted
diff --git a/multimedia/gst1-plugins-ugly/patches/003-no-docs.patch b/multimedia/gst1-plugins-ugly/patches/003-no-docs.patch
new file mode 100644 (file)
index 0000000..21093f7
--- /dev/null
@@ -0,0 +1,25 @@
+diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/configure.ac gst-plugins-ugly-1.6.2/configure.ac
+--- gst-plugins-ugly-1.6.2-vanilla/configure.ac        2016-01-01 12:11:03.267943540 -0500
++++ gst-plugins-ugly-1.6.2/configure.ac        2016-01-01 12:13:30.992120335 -0500
+@@ -464,9 +464,6 @@
+ ext/sidplay/Makefile
+ ext/twolame/Makefile
+ ext/x264/Makefile
+-docs/Makefile
+-docs/plugins/Makefile
+-docs/version.entities
+ m4/Makefile
+ pkgconfig/Makefile
+ pkgconfig/gstreamer-plugins-ugly-uninstalled.pc
+diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/Makefile.am gst-plugins-ugly-1.6.2/Makefile.am
+--- gst-plugins-ugly-1.6.2-vanilla/Makefile.am 2016-01-01 12:11:03.268943568 -0500
++++ gst-plugins-ugly-1.6.2/Makefile.am 2016-01-01 12:13:28.110038773 -0500
+@@ -1,7 +1,7 @@
+ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+ SUBDIRS = \
+-      gst-libs gst ext docs m4 common pkgconfig
++      gst-libs gst ext m4 common pkgconfig
+ # include before EXTRA_DIST for win32 assignment
+ include $(top_srcdir)/common/win32.mak
diff --git a/multimedia/gst1-plugins-ugly/patches/003-no_translations.patch b/multimedia/gst1-plugins-ugly/patches/003-no_translations.patch
deleted file mode 100644 (file)
index bd61771..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -475,7 +475,6 @@ docs/version.entities
- tests/Makefile
- tests/check/Makefile
- m4/Makefile
--po/Makefile.in
- pkgconfig/Makefile
- pkgconfig/gstreamer-plugins-ugly-uninstalled.pc
- gst-plugins-ugly.spec
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,7 +1,7 @@
- DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
- SUBDIRS = \
--      gst-libs gst ext m4 common pkgconfig po
-+      gst-libs gst ext m4 common pkgconfig
- # include before EXTRA_DIST for win32 assignment
- include $(top_srcdir)/common/win32.mak
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -502,7 +502,7 @@ top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
- SUBDIRS = \
--      gst-libs gst ext m4 common pkgconfig po
-+      gst-libs gst ext m4 common pkgconfig
- # the MANIFEST contains all win32 related files that should be disted
index 0ab4629fb051e7cf762dcca99c34560c56b9ca3b..cf11d9dbea239a03fd918a5e9abba69deae263fe 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gstreamer1
-PKG_VERSION:=1.4.5
+PKG_VERSION:=1.6.2
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
@@ -19,7 +19,7 @@ PKG_LICENSE_FILES:=COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
 PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gstreamer/
-PKG_MD5SUM:=88a9289c64a4950ebb4f544980234289
+PKG_MD5SUM:=5e610b5a94c209487310739b39b6c464
 
 PKG_FIXUP:=autoreconf
 PKG_REMOVE_FILES:=autogen.sh aclocal.m4
@@ -134,6 +134,11 @@ define Build/InstallDev
                ./usr/include/gstreamer-$(GST_VERSION)/* \
                $(1)/usr/include/gstreamer-$(GST_VERSION)/ \
        )
+       $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)/include/gst
+       ( cd $(PKG_INSTALL_DIR); $(CP) \
+               ./usr/lib/gstreamer-$(GST_VERSION)/include/gst/*.h \
+               $(1)/usr/lib/gstreamer-$(GST_VERSION)/include/gst \
+       )
        $(INSTALL_DIR) $(1)/usr/lib
        ( cd $(PKG_INSTALL_DIR); $(CP) \
                ./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
diff --git a/multimedia/gstreamer1/patches/001-no-translations.patch b/multimedia/gstreamer1/patches/001-no-translations.patch
new file mode 100644 (file)
index 0000000..f933ee0
--- /dev/null
@@ -0,0 +1,30 @@
+diff -u --recursive gstreamer-1.6.2-vanilla/configure.ac gstreamer-1.6.2/configure.ac
+--- gstreamer-1.6.2-vanilla/configure.ac       2016-01-01 10:40:18.040768907 -0500
++++ gstreamer-1.6.2/configure.ac       2016-01-01 10:48:24.160887684 -0500
+@@ -980,7 +980,6 @@
+ libs/gst/net/Makefile
+ plugins/Makefile
+ plugins/elements/Makefile
+-po/Makefile.in
+ tests/Makefile
+ tests/benchmarks/Makefile
+ tests/check/Makefile
+diff -u --recursive gstreamer-1.6.2-vanilla/Makefile.am gstreamer-1.6.2/Makefile.am
+--- gstreamer-1.6.2-vanilla/Makefile.am        2016-01-01 10:40:18.040768907 -0500
++++ gstreamer-1.6.2/Makefile.am        2016-01-01 10:48:19.150568341 -0500
+@@ -9,7 +9,6 @@
+ SUBDIRS = pkgconfig \
+       gst libs plugins tests \
+       docs \
+-      po \
+       m4 \
+       common \
+       data
+@@ -22,7 +21,6 @@
+ DIST_SUBDIRS = pkgconfig \
+       gst libs plugins tools tests \
+       docs \
+-      po \
+       m4 \
+       common \
+       data
diff --git a/multimedia/gstreamer1/patches/001-no_docs.patch b/multimedia/gstreamer1/patches/001-no_docs.patch
deleted file mode 100644 (file)
index fb0e034..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -8,7 +8,6 @@ aclocal_DATA = gst-element-check-@GST_AP
- SUBDIRS = pkgconfig \
-       gst libs plugins tests \
--      docs \
-       po \
-       m4 \
-       common
-@@ -20,7 +19,6 @@ endif
- # These are all the possible subdirs
- DIST_SUBDIRS = pkgconfig \
-       gst libs plugins tools tests \
--      docs \
-       po \
-       m4 \
-       common
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -554,13 +554,12 @@ top_srcdir = @top_srcdir@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-docbook
- aclocaldir = $(datadir)/aclocal
- aclocal_DATA = gst-element-check-@GST_API_VERSION@.m4
--SUBDIRS = pkgconfig gst libs plugins tests docs po m4 common \
-+SUBDIRS = pkgconfig gst libs plugins tests po m4 common \
-       $(am__append_1)
- # These are all the possible subdirs
- DIST_SUBDIRS = pkgconfig \
-       gst libs plugins tools tests \
--      docs \
-       po \
-       m4 \
-       common
diff --git a/multimedia/gstreamer1/patches/002-no-tests.patch b/multimedia/gstreamer1/patches/002-no-tests.patch
new file mode 100644 (file)
index 0000000..d2bf13d
--- /dev/null
@@ -0,0 +1,46 @@
+diff -u --recursive gstreamer-1.6.2-vanilla/configure.ac gstreamer-1.6.2/configure.ac
+--- gstreamer-1.6.2-vanilla/configure.ac       2016-01-01 12:01:10.863324404 -0500
++++ gstreamer-1.6.2/configure.ac       2016-01-01 12:05:07.794937166 -0500
+@@ -980,21 +980,6 @@
+ libs/gst/net/Makefile
+ plugins/Makefile
+ plugins/elements/Makefile
+-tests/Makefile
+-tests/benchmarks/Makefile
+-tests/check/Makefile
+-tests/misc/Makefile
+-tests/examples/Makefile
+-tests/examples/adapter/Makefile
+-tests/examples/controller/Makefile
+-tests/examples/stepping/Makefile
+-tests/examples/helloworld/Makefile
+-tests/examples/manual/Makefile
+-tests/examples/memory/Makefile
+-tests/examples/netclock/Makefile
+-tests/examples/ptp/Makefile
+-tests/examples/streamiddemux/Makefile
+-tests/examples/streams/Makefile
+ tools/Makefile
+ common/Makefile
+ common/m4/Makefile
+diff -u --recursive gstreamer-1.6.2-vanilla/Makefile.am gstreamer-1.6.2/Makefile.am
+--- gstreamer-1.6.2-vanilla/Makefile.am        2016-01-01 12:01:10.862324377 -0500
++++ gstreamer-1.6.2/Makefile.am        2016-01-01 12:05:03.190808129 -0500
+@@ -7,7 +7,7 @@
+ aclocal_DATA = gst-element-check-@GST_API_VERSION@.m4
+ SUBDIRS = pkgconfig \
+-      gst libs plugins tests \
++      gst libs plugins \
+       docs \
+       m4 \
+       common \
+@@ -19,7 +19,7 @@
+ # These are all the possible subdirs
+ DIST_SUBDIRS = pkgconfig \
+-      gst libs plugins tools tests \
++      gst libs plugins tools \
+       docs \
+       m4 \
+       common \
diff --git a/multimedia/gstreamer1/patches/002-no_tests.patch b/multimedia/gstreamer1/patches/002-no_tests.patch
deleted file mode 100644 (file)
index 384dd0a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -7,7 +7,7 @@ aclocaldir = $(datadir)/aclocal
- aclocal_DATA = gst-element-check-@GST_API_VERSION@.m4
- SUBDIRS = pkgconfig \
--      gst libs plugins tests \
-+      gst libs plugins \
-       po \
-       m4 \
-       common
-@@ -18,7 +18,7 @@ endif
- # These are all the possible subdirs
- DIST_SUBDIRS = pkgconfig \
--      gst libs plugins tools tests \
-+      gst libs plugins tools \
-       po \
-       m4 \
-       common
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -554,12 +554,12 @@ top_srcdir = @top_srcdir@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-docbook
- aclocaldir = $(datadir)/aclocal
- aclocal_DATA = gst-element-check-@GST_API_VERSION@.m4
--SUBDIRS = pkgconfig gst libs plugins tests po m4 common \
-+SUBDIRS = pkgconfig gst libs plugins po m4 common \
-       $(am__append_1)
- # These are all the possible subdirs
- DIST_SUBDIRS = pkgconfig \
--      gst libs plugins tools tests \
-+      gst libs plugins tools \
-       po \
-       m4 \
-       common
diff --git a/multimedia/gstreamer1/patches/003-no-docs.patch b/multimedia/gstreamer1/patches/003-no-docs.patch
new file mode 100644 (file)
index 0000000..cd96d4c
--- /dev/null
@@ -0,0 +1,41 @@
+diff -u --recursive gstreamer-1.6.2-vanilla/configure.ac gstreamer-1.6.2/configure.ac
+--- gstreamer-1.6.2-vanilla/configure.ac       2016-01-01 12:11:19.150392204 -0500
++++ gstreamer-1.6.2/configure.ac       2016-01-01 12:06:49.611795028 -0500
+@@ -983,18 +983,6 @@
+ tools/Makefile
+ common/Makefile
+ common/m4/Makefile
+-docs/Makefile
+-docs/design/Makefile
+-docs/faq/Makefile
+-docs/gst/Makefile
+-docs/gst/gstreamer.types
+-docs/libs/Makefile
+-docs/plugins/Makefile
+-docs/manual/Makefile
+-docs/pwg/Makefile
+-docs/slides/Makefile
+-docs/xsl/Makefile
+-docs/version.entities
+ m4/Makefile
+ pkgconfig/Makefile
+ stamp.h
+diff -u --recursive gstreamer-1.6.2-vanilla/Makefile.am gstreamer-1.6.2/Makefile.am
+--- gstreamer-1.6.2-vanilla/Makefile.am        2016-01-01 12:11:19.151392233 -0500
++++ gstreamer-1.6.2/Makefile.am        2016-01-01 12:06:41.546568365 -0500
+@@ -8,7 +8,6 @@
+ SUBDIRS = pkgconfig \
+       gst libs plugins \
+-      docs \
+       m4 \
+       common \
+       data
+@@ -20,7 +19,6 @@
+ # These are all the possible subdirs
+ DIST_SUBDIRS = pkgconfig \
+       gst libs plugins tools \
+-      docs \
+       m4 \
+       common \
+       data
diff --git a/multimedia/gstreamer1/patches/003-no_translations.patch b/multimedia/gstreamer1/patches/003-no_translations.patch
deleted file mode 100644 (file)
index 7e918dd..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -780,7 +780,6 @@ libs/gst/helpers/Makefile
- libs/gst/net/Makefile
- plugins/Makefile
- plugins/elements/Makefile
--po/Makefile.in
- tests/Makefile
- tests/benchmarks/Makefile
- tests/check/Makefile
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -8,7 +8,6 @@ aclocal_DATA = gst-element-check-@GST_AP
- SUBDIRS = pkgconfig \
-       gst libs plugins \
--      po \
-       m4 \
-       common
-@@ -19,7 +18,6 @@ endif
- # These are all the possible subdirs
- DIST_SUBDIRS = pkgconfig \
-       gst libs plugins tools \
--      po \
-       m4 \
-       common
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -554,13 +554,12 @@ top_srcdir = @top_srcdir@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-docbook
- aclocaldir = $(datadir)/aclocal
- aclocal_DATA = gst-element-check-@GST_API_VERSION@.m4
--SUBDIRS = pkgconfig gst libs plugins po m4 common \
-+SUBDIRS = pkgconfig gst libs plugins m4 common \
-       $(am__append_1)
- # These are all the possible subdirs
- DIST_SUBDIRS = pkgconfig \
-       gst libs plugins tools \
--      po \
-       m4 \
-       common
diff --git a/multimedia/gstreamer1/patches/010-gstplugin-use-lazy-symbol-binding.patch b/multimedia/gstreamer1/patches/010-gstplugin-use-lazy-symbol-binding.patch
new file mode 100644 (file)
index 0000000..d5b317e
--- /dev/null
@@ -0,0 +1,21 @@
+diff -u --recursive gstreamer-1.6.2-vanilla/gst/gstplugin.c gstreamer-1.6.2/gst/gstplugin.c
+--- gstreamer-1.6.2-vanilla/gst/gstplugin.c    2016-01-01 12:37:38.178990140 -0500
++++ gstreamer-1.6.2/gst/gstplugin.c    2016-01-01 12:38:30.431328737 -0500
+@@ -732,15 +732,8 @@
+     goto return_error;
+   }
+-  flags = G_MODULE_BIND_LOCAL;
+-  /* libgstpython.so is the gst-python plugin loader. It needs to be loaded with
+-   * G_MODULE_BIND_LAZY.
+-   *
+-   * Ideally there should be a generic way for plugins to specify that they
+-   * need to be loaded with _LAZY.
+-   * */
+-  if (strstr (filename, "libgstpython"))
+-    flags |= G_MODULE_BIND_LAZY;
++  // No need to resolve all bindings until referenced
++  flags = G_MODULE_BIND_LOCAL | G_MODULE_BIND_LAZY;
+   module = g_module_open (filename, flags);
+   if (module == NULL) {
diff --git a/multimedia/gstreamer1/patches/010-gstplugin_use_lazy_symbol_binding.patch b/multimedia/gstreamer1/patches/010-gstplugin_use_lazy_symbol_binding.patch
deleted file mode 100644 (file)
index 603e57c..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/gst/gstplugin.c
-+++ b/gst/gstplugin.c
-@@ -723,15 +723,8 @@ gst_plugin_load_file (const gchar * file
-     goto return_error;
-   }
--  flags = G_MODULE_BIND_LOCAL;
--  /* libgstpython.so is the gst-python plugin loader. It needs to be loaded with
--   * G_MODULE_BIND_LAZY.
--   *
--   * Ideally there should be a generic way for plugins to specify that they
--   * need to be loaded with _LAZY.
--   * */
--  if (strstr (filename, "libgstpython"))
--    flags |= G_MODULE_BIND_LAZY;
-+  // No need to resolve all bindings until referenced
-+  flags = G_MODULE_BIND_LOCAL | G_MODULE_BIND_LAZY;
-   module = g_module_open (filename, flags);
-   if (module == NULL) {
index d116dba492cd7ef687f6534d9e3d5dd346b176bd..0cce17f313c46b01dff61046734eacf828756a40 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2008-2014 OpenWrt.org
+# Copyright (C) 2008-2015 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=freeradius2
 PKG_VERSION:=2.2.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=freeradius-server-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=\
@@ -350,6 +350,7 @@ CONFIGURE_ARGS+= \
        $(if $(CONFIG_FREERADIUS_OPENSSL),--with,--without)-openssl \
        $(if $(CONFIG_FREERADIUS_OPENSSL),--with-openssl-includes="$(STAGING_DIR)/usr/include",) \
        $(if $(CONFIG_FREERADIUS_OPENSSL),--with-openssl-libraries="$(STAGING_DIR)/usr/lib",) \
+       $(if $(CONFIG_FREERADIUS_OPENSSL),--disable-openssl-version-check,) \
        --with-system-libtool \
        --with-system-libltdl \
        --enable-strict-dependencies \
index 8aaabeb3a579431d27d7c160d49e338fb9add359..da6148e09170f774e87e2703e6f2875c63bd627c 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2008-2015 OpenWrt.org
+# Copyright (C) 2008-2016 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:=knxd
-PKG_VERSION=2015-12-27-$(PKG_SOURCE_VERSION)
-PKG_RELEASE:=1
+PKG_VERSION=2016-01-01-$(PKG_SOURCE_VERSION)
+PKG_RELEASE:=3
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/knxd/knxd.git
-PKG_SOURCE_VERSION:=b978e9ee57611b77932588e81a8e2c61a414367c
+PKG_SOURCE_VERSION:=0cca354494310c8700e95692d5e09c80f6b57085
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
 
index cd86a62afab185ffd6381c7ad04841a161126339..8a42854e646ffafded9ef681dacc1a147796438a 100644 (file)
@@ -1,12 +1,43 @@
 config daemon args
-        # daemon is started as 'knxd $options $url'
-        # use 'knxd --help' to get all possible options'
-        #
-        # typical example for options for tunnel mode
-        option options '-D -T -S -d/tmp/knxd.log -i -p/var/run/knxd.pid'
-        # add '-t1023' or '--trace=1023' for full log trace
-
-        # example with tpuarts interface
-        # option url 'tpuarts:/dev/ttyAMA0'
-        # example with IP interface in tunnel mode
-        option url 'ipt:192.168.1.20'
+       # driver:[arg]  a Layer-2 driver to use (knxd supports more than one)
+       option layer2 ""
+       # enable caching of group communication networkstate
+       option GroupCache 0
+       # FILE start the programm as daemon. Output will be written to FILE if given
+       option daemon "/var/log/knxd.log"
+       #enable the EIBnet/IP server to answer discovery and description requests (SEARCH, DESCRIPTION)
+       option Discovery 1
+       # EIBADDR set our EIB address to EIBADDR (default 0.0.1)
+       option eibaddr "0.0.1"
+       # LEVEL set error level
+       option error 0
+       # PORT listen at TCP port PORT (default 6720)
+       option listen_tcp "6720"
+       # wait for L_Data_ind while sending (for all EMI based backends)
+       option no_emisend_queuing 0
+       # SERVERNAME name of the EIBnet/IP server (default is 'knxd')
+       option Name "OpenWrt"
+       # do not assume KNXnet/IP Tunneling bus interface can handle parallel cEMI requests
+       option no_tunnel_client_queuing 0
+       # the next Layer2 interface may not enter monitor mode
+       option no_monitor 0
+       # enable EIBnet/IP Routing in the EIBnet/IP server
+       option Routing 0
+       # [ip[:port]] starts an EIBnet/IP multicast server
+       option Server 1
+       # MASK set trace flags (bitmask)
+       option trace 0
+       # tpuarts backend should generate L2 acks for all group telegrams
+       option tpuarts_ack_all_group 0
+       # tpuarts backend should generate L2 acks for all individual telegrams
+       option tpuarts_ack_all_individual 0
+       # tpuarts backend should should use a full interface reset (for Disch TPUART interfaces)
+       option tpuarts_disch_reset 0
+       # enable EIBnet/IP Tunneling in the EIBnet/IP server
+       option Tunnelling 1
+       # FILE  listen at Unix domain socket FILE (default /tmp/eib)
+       option listen_local "/var/run/knxd"
+       # example with tpuarts interface
+       # option url 'tpuarts:/dev/ttyAMA0'
+       # example with IP interface in tunnel mode
+       option url 'ip:'
index 026e4cf6aba529a7f49f64b88594c4136956ff00..df3c7c87c84e113e1dec3bda531085cc082ded21 100644 (file)
@@ -1,19 +1,73 @@
 #!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2016 OpenWrt.org
 
 START=98
 STOP=20
-NAME=knxd
-PROG=/usr/bin/$NAME
+PROG=/usr/bin/knxd
+USE_PROCD=1
 
-start() {
-        local options url
-        config_load "$NAME"
-        config_get options args options ''
-        config_get url args url
-        service_start $PROG $options $url
+append_bool() {
+       local section="$1"
+       local option="$2"
+       local value="$3"
+       local _loctmp
+       local default="$4"
+       config_get_bool _loctmp "$section" "$option"
+       [ -z "$_loctmp" ] && _loctmp="$default"
+       [ "$_loctmp" -gt 0 ] && append params "--$value"
 }
 
-stop() {
-        service_stop $PROG
+append_parm() {
+       local section="$1"
+       local option="$2"
+       local switch="$3"
+       local _loctmp
+       local default="$4"
+       config_get _loctmp "$section" "$option"
+       [ -z "$_loctmp" ] && _loctmp="$default"
+       [ -z "$_loctmp" ] && return 0
+       append params "--$switch=$_loctmp"
+}
+
+start_service() {
+       local options url
+       config_load knxd
+       append_parm args eibaddr "eibaddr" "0.0.1"
+       append_parm args layer2 "layer2"
+       append_bool args GroupCache "GroupCache" 0
+       append_parm args daemon "daemon" "/var/log/knxd.log"
+       append_bool args Discovery "Discovery" 1
+       append_parm args error "error" # "5"
+       append_parm args listen_tcp "listen-tcp" "6720"
+       append_bool args no_emisend_queuing "no-emisend-queuing" 0
+       append_parm args Name "Name" "OpenWrt"
+       append_bool args no_tunnel_client_queuing "no-tunnel-client-queuing" 0
+       append_bool args no_monitor "no-monitor" 0
+       append_bool args Routing "Routing" 0
+       append_parm args trace "trace" # "7"
+       append_bool args tpuarts_ack_all_group "tpuarts-ack-all-group" 0
+       append_bool args tpuarts_ack_all_individual "tpuarts-ack-all-individual" 0
+       append_bool args tpuarts_disch_reset "tpuarts-disch-reset" 0
+       append_bool args Tunnelling "Tunnelling" 1
+       append_parm args listen_local "listen-local" "/var/run/knxd"
+       append_bool args Server "Server" 1
+       config_get url args url
+       procd_open_instance
+       procd_set_param command $PROG $params $url
+       procd_set_param respawn
+       procd_close_instance
+}
+
+stop_service() {
+       killall knxd
+}
+
+reload_service()
+{
+       restart
+}
+
+service_triggers()
+{
+       procd_add_reload_trigger knxd
 }
index 121f2141c77daa45ffb008a0de2f4e4cca2ccc4c..2ae831beb6943d10f33769fc9bd4fa2108bd6f26 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=krb5
-PKG_VERSION:=1.13.3
+PKG_VERSION:=1.14
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
@@ -17,8 +17,8 @@ PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=NOTICE
 
 PKG_SOURCE:=krb5-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://web.mit.edu/kerberos/dist/krb5/1.13/
-PKG_MD5SUM:=f99fb414932a4d8b1925e00ef31e7680
+PKG_SOURCE_URL:=http://web.mit.edu/kerberos/dist/krb5/1.14/
+PKG_MD5SUM:=0727968764d0208388b85ad31aafde24
 
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
diff --git a/net/krb5/patches/001-fix-build.patch b/net/krb5/patches/001-fix-build.patch
deleted file mode 100644 (file)
index 2801fd3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -u --recursive krb5-1.13.1-vanilla/src/lib/krad/packet.c krb5-1.13.1/src/lib/krad/packet.c
---- krb5-1.13.1-vanilla/src/lib/krad/packet.c  2015-02-22 10:08:38.213087138 -0500
-+++ krb5-1.13.1/src/lib/krad/packet.c  2015-02-22 10:13:25.223709951 -0500
-@@ -253,7 +253,7 @@
- {
-     krb5_error_code retval;
-     krad_packet *pkt;
--    uchar id;
-+    uchar id = 0;
-     size_t attrset_len;
-     pkt = packet_new();
-diff -u --recursive krb5-1.13.1-vanilla/src/lib/krb5/ccache/cc_file.c krb5-1.13.1/src/lib/krb5/ccache/cc_file.c
---- krb5-1.13.1-vanilla/src/lib/krb5/ccache/cc_file.c  2015-02-22 10:08:38.211087133 -0500
-+++ krb5-1.13.1/src/lib/krb5/ccache/cc_file.c  2015-02-22 10:14:15.410819464 -0500
-@@ -401,7 +401,7 @@
- {
-     krb5_error_code ret;
-     struct k5buf buf;
--    size_t maxsize;
-+    size_t maxsize = 0;
-     *princ = NULL;
-     k5_cc_mutex_assert_locked(context, &((fcc_data *)id->data)->lock);
-@@ -1088,7 +1088,7 @@
-     krb5_fcc_cursor *fcursor = *cursor;
-     fcc_data *data = id->data;
-     struct k5buf buf;
--    size_t maxsize;
-+    size_t maxsize = 0;
-     memset(creds, 0, sizeof(*creds));
-     k5_cc_mutex_lock(context, &data->lock);
-diff -u --recursive krb5-1.13.1-vanilla/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c krb5-1.13.1/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
---- krb5-1.13.1-vanilla/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c     2015-02-22 10:08:38.190087088 -0500
-+++ krb5-1.13.1/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c     2015-02-22 10:17:37.981263250 -0500
-@@ -3593,7 +3593,7 @@
- {
-     CK_ULONG i, r;
-     unsigned char *cp;
--    size_t label_len;
-+    size_t label_len = 0;
-     CK_ULONG count = 0;
-     CK_SLOT_ID_PTR slotlist;
-     CK_TOKEN_INFO tinfo;
diff --git a/net/krb5/patches/001-fix-uninitialized-warning-errors.patch b/net/krb5/patches/001-fix-uninitialized-warning-errors.patch
new file mode 100644 (file)
index 0000000..e416209
--- /dev/null
@@ -0,0 +1,48 @@
+diff -u --recursive krb5-1.14-vanilla/src/kadmin/ktutil/ktutil_funcs.c krb5-1.14/src/kadmin/ktutil/ktutil_funcs.c
+--- krb5-1.14-vanilla/src/kadmin/ktutil/ktutil_funcs.c 2015-12-31 21:50:20.572824136 -0500
++++ krb5-1.14/src/kadmin/ktutil/ktutil_funcs.c 2015-12-31 22:11:26.603926597 -0500
+@@ -64,7 +64,7 @@
+     krb5_kt_list *list;
+     int idx;
+ {
+-    krb5_kt_list lp, prev;
++    krb5_kt_list lp, prev = NULL;
+     int i;
+     for (lp = *list, i = 1; lp; prev = lp, lp = lp->next, i++) {
+diff -u --recursive krb5-1.14-vanilla/src/lib/krad/packet.c krb5-1.14/src/lib/krad/packet.c
+--- krb5-1.14-vanilla/src/lib/krad/packet.c    2015-12-31 21:50:20.476819205 -0500
++++ krb5-1.14/src/lib/krad/packet.c    2015-12-31 22:05:32.041257903 -0500
+@@ -253,7 +253,7 @@
+ {
+     krb5_error_code retval;
+     krad_packet *pkt;
+-    uchar id;
++    uchar id = 0;
+     size_t attrset_len;
+     pkt = packet_new();
+diff -u --recursive krb5-1.14-vanilla/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c krb5-1.14/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
+--- krb5-1.14-vanilla/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c       2015-12-31 21:50:20.531822031 -0500
++++ krb5-1.14/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c       2015-12-31 22:08:32.871650805 -0500
+@@ -3618,7 +3618,7 @@
+ {
+     CK_ULONG i, r;
+     unsigned char *cp;
+-    size_t label_len;
++    size_t label_len = 0;
+     CK_ULONG count = 0;
+     CK_SLOT_ID_PTR slotlist;
+     CK_TOKEN_INFO tinfo;
+diff -u --recursive krb5-1.14-vanilla/src/util/profile/prof_file.c krb5-1.14/src/util/profile/prof_file.c
+--- krb5-1.14-vanilla/src/util/profile/prof_file.c     2015-12-31 21:50:20.474819103 -0500
++++ krb5-1.14/src/util/profile/prof_file.c     2015-12-31 21:59:08.551797171 -0500
+@@ -359,6 +359,8 @@
+         if (f == NULL)
+             return (errno != 0) ? errno : ENOENT;
+         set_cloexec_file(f);
++    } else {
++        f = NULL;
+     }
+     data->upd_serial++;
diff --git a/net/krb5/patches/002-fix-uninitialized-warning-error.patch b/net/krb5/patches/002-fix-uninitialized-warning-error.patch
deleted file mode 100644 (file)
index 7e9b9ef..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/kadmin/ktutil/ktutil_funcs.c b/src/kadmin/ktutil/ktutil_funcs.c
-index 20a348c..97baff0 100644
---- a/src/kadmin/ktutil/ktutil_funcs.c
-+++ b/src/kadmin/ktutil/ktutil_funcs.c
-@@ -67,7 +67,7 @@ krb5_error_code ktutil_delete(context, list, idx)
-     krb5_kt_list lp, prev;
-     int i;
--    for (lp = *list, i = 1; lp; prev = lp, lp = lp->next, i++) {
-+    for (prev = NULL, lp = *list, i = 1; lp; prev = lp, lp = lp->next, i++) {
-         if (i == idx) {
-             if (i == 1)
-                 *list = lp->next;
index 72eb7b66d04a6c2295f8b284251c9e535487493f..6769287cc43720ac22db7aec2c588fd23b819bd6 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lighttpd
-PKG_VERSION:=1.4.37
+PKG_VERSION:=1.4.38
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x
-PKG_MD5SUM:=ca40168f54b46ee29475868ced8507d6
+PKG_MD5SUM:=7adc12323f37ed24ecf026c7547b577d
 
 PKG_LICENSE:=BSD-3c
 PKG_LICENSE_FILES:=COPYING
index c8988df92b4d2ea579f914ebc59be8f4803da64f..ac90a55057a738f836db0d69de497717c2804a5a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ocserv
 PKG_VERSION:=0.10.10
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_USE_MIPS16:=0
 
 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
diff --git a/net/ocserv/patches/0001-don-t-attempt-to-open-per_user_dir-if-it-is-NULL.patch b/net/ocserv/patches/0001-don-t-attempt-to-open-per_user_dir-if-it-is-NULL.patch
new file mode 100644 (file)
index 0000000..513d766
--- /dev/null
@@ -0,0 +1,37 @@
+From 78ebe6c1dab648e3190363cb38ad5be356884494 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
+Date: Tue, 5 Jan 2016 21:37:35 +0100
+Subject: [PATCH] don't attempt to open per_user_dir if it is NULL
+
+This addresses a crash in certain libc's.
+---
+ src/config.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/config.c b/src/config.c
+index 827a7a0..50db655 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -617,6 +617,9 @@ static void load_iroutes(struct cfg_st *config)
+       struct dirent *r;
+       char path[_POSIX_PATH_MAX];
++      if (config->per_user_dir == NULL)
++              return;
++
+       dir = opendir(config->per_user_dir);
+       if (dir != NULL) {
+               do {
+@@ -626,8 +629,8 @@ static void load_iroutes(struct cfg_st *config)
+                               append_iroutes_from_file(config, path);
+                       }
+               } while(r != NULL);
++              closedir(dir);
+       }
+-      closedir(dir);
+ }
+ static void parse_cfg_file(void *pool, const char* file, struct perm_cfg_st *perm_config, unsigned reload)
+-- 
+2.5.1
+
index 19878d6dfe09fc21a70d9f8b88821bbf7b2aa29d..fbefbdc25a7566b8fb341b2d2d88be38b29170b3 100644 (file)
@@ -8,11 +8,12 @@
 # $Id: Makefile $
 
 include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=openvswitch
 
-PKG_RELEASE:=3
-PKG_VERSION:=2.4.0
+PKG_RELEASE:=4
+PKG_VERSION:=2.5.0
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=COPYING
@@ -21,21 +22,24 @@ PKG_USE_MIPS16:=0
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/openvswitch/ovs
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=b979c282ef040a20d09b8d6885648b09352f05db
+PKG_SOURCE_VERSION:=98b94d1e7002063ce2ea3c3221fe9234cac4e124
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
 
 PKG_BUILD_PARALLEL:=1
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 
-SUPPORTED_KERNELS:=LINUX_3_8||LINUX_3_10||LINUX_3_13||LINUX_3_14||LINUX_3_18||LINUX_4_0||LINUX_4_1
+# Upstream package supports kernels between 2.6.32 and 4.3 
+# see https://github.com/openvswitch/ovs/blob/master/FAQ.md
+# This list is pruned to only those kernels used in OpenWRT
+SUPPORTED_KERNELS:=LINUX_3_18||LINUX_4_1||LINUX_4_3
 
 include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/kernel.mk
 $(call include_mk, python-package.mk)
 
 define Package/openvswitch/Default
   SECTION:=net
+  SUBMENU:=Open vSwitch
   CATEGORY:=Network
   URL:=http://openvswitch.org/
   MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
@@ -51,20 +55,22 @@ define Package/openvswitch/Default/description
   1000V.
 endef
 
-define Package/openvswitch
+define Package/openvswitch-base
   $(call Package/openvswitch/Default)
-  TITLE:=Open vSwitch Userspace Package
+  TITLE:=Open vSwitch Userspace Package (base)
   DEPENDS:=+libpcap +libopenssl +librt +kmod-openvswitch @($(SUPPORTED_KERNELS))
 endef
 
-define Package/openvswitch/description
+define Package/openvswitch-base/description
   Provides the main userspace components required for Open vSwitch to function.
+  The main OVS tools (ovs-vsctl, ovs-ofctl, etc) are packaged separately
+  to conserve some room and allow more configurability.
 endef
 
 define Package/openvswitch-python
   $(call Package/openvswitch/Default)
   TITLE:=Open vSwitch Python Support
-  DEPENDS:=@PACKAGE_openvswitch +PACKAGE_openvswitch:openvswitch +python
+  DEPENDS:=+openvswitch +python
 endef
 
 define Package/openvswitch-python/description
@@ -73,8 +79,8 @@ endef
 
 define Package/openvswitch-ipsec
   $(call Package/openvswitch/Default)
-  TITLE:=Open vSwitch Userspace Package
-  DEPENDS:=@PACKAGE_openvswitch +PACKAGE_openvswitch:openvswitch-python
+  TITLE:=Open vSwitch GRE through IPsec tool
+  DEPENDS:=+openvswitch-python
 endef
 
 define Package/openvswitch-ipsec/description
@@ -84,21 +90,33 @@ endef
 
 define Package/openvswitch-benchmark
   $(call Package/openvswitch/Default)
-  TITLE:=Open vSwitch Userspace Package
-  DEPENDS:=@PACKAGE_openvswitch +PACKAGE_openvswitch:openvswitch
+  TITLE:=Open vSwitch flow setup benchmark utility
+  DEPENDS:=+openvswitch
 endef
 
 define Package/openvswitch-benchmark/description
   Utility for running OpenVSwitch benchmarking
 endef
 
+OVS_BIN_TOOLS:=ovs-appctl ovs-ofctl ovs-dpctl ovs-vsctl ovsdb-client
+define Package/openvswitch
+  $(call Package/openvswitch/Default)
+  TITLE:=Open vSwitch Userspace Package
+  DEPENDS:=+openvswitch-base $(foreach t,$(OVS_BIN_TOOLS),+openvswitch-$(t))
+endef
+
+define Package/openvswitch/description
+  Provides the main userspace components required for Open vSwitch to function.
+  Includes also the main OVS utilities (ovs-appctl, ovs-vsctl, etc).
+endef
+
 define KernelPackage/openvswitch
   SECTION:=kernel
   CATEGORY:=Kernel modules
   SUBMENU:=Network Support
   TITLE:=Open vSwitch Kernel Package
   KCONFIG:=CONFIG_BRIDGE
-  DEPENDS:=+kmod-stp @IPV6 +kmod-gre +kmod-lib-crc32c +kmod-vxlan @($(SUPPORTED_KERNELS))
+  DEPENDS:=+kmod-stp @IPV6 +kmod-gre +kmod-lib-crc32c +kmod-vxlan +kmod-nf-conntrack +kmod-nf-conntrack6 @($(SUPPORTED_KERNELS))
   FILES:= \
        $(PKG_BUILD_DIR)/datapath/linux/openvswitch.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,21,openvswitch)
@@ -119,38 +137,49 @@ TARGET_CFLAGS += -flto -std=gnu99
 CONFIGURE_VARS += KARCH=$(LINUX_KARCH)
 MAKE_FLAGS += ARCH="$(LINUX_KARCH)"
 
-define Package/openvswitch/install
+define OvsBinUtility
+  define Package/openvswitch-$(1)
+     $(call Package/openvswitch/Default)
+     TITLE:=$(2)
+     DEPENDS:=+openvswitch-base
+  endef
+
+  define Package/openvswitch-$(1)/description
+    $(2)
+  endef
+
+  define Package/openvswitch-$(1)/install
+    $(INSTALL_DIR) $$(1)/usr/bin/ ;\
+    $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin/
+  endef
+endef
+
+define Package/openvswitch-base/install
        $(INSTALL_DIR) $(1)/etc/openvswitch
 
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/etc/init.d/openvswitch.init $(1)/etc/init.d/openvswitch
 
        $(INSTALL_DIR) $(1)/usr/lib/
-       $(CP) $(PKG_BUILD_DIR)/lib/.libs/libsflow.so*  $(1)/usr/lib/
-       $(CP) $(PKG_BUILD_DIR)/lib/.libs/libopenvswitch.so*  $(1)/usr/lib/
-       $(CP) $(PKG_BUILD_DIR)/ofproto/.libs/libofproto.so*  $(1)/usr/lib/
-       $(CP) $(PKG_BUILD_DIR)/ovsdb/.libs/libovsdb.so*  $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libofproto.so*  $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libopenvswitch.so*  $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libovsdb.so*  $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsflow.so*  $(1)/usr/lib/
 
        $(INSTALL_DIR) $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/utilities/.libs/ovs-appctl $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/utilities/.libs/ovs-ofctl $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ovsdb/.libs/ovsdb-client $(1)/usr/bin/
-
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/utilities/.libs/ovs-dpctl $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/utilities/.libs/ovs-vsctl $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ovsdb/.libs/ovsdb-tool $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ovsdb-tool $(1)/usr/bin/
 
        $(INSTALL_DIR) $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/vswitchd/.libs/ovs-vswitchd $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ovsdb/.libs/ovsdb-server $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ovs-vswitchd $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ovsdb-server $(1)/usr/sbin/
 
        $(INSTALL_DIR) $(1)/usr/share/openvswitch/
-       $(INSTALL_CONF) $(PKG_BUILD_DIR)/vswitchd/vswitch.ovsschema $(1)/usr/share/openvswitch/
+       $(INSTALL_CONF) $(PKG_INSTALL_DIR)/usr/share/openvswitch/vswitch.ovsschema $(1)/usr/share/openvswitch/
 endef
 
 define Package/openvswitch-python/install
-       $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/
-       $(CP) $(PKG_BUILD_DIR)/python/ovs/ $(1)/usr/lib/python$(PYTHON_VERSION)/
+       $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/ovs
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/openvswitch/python/ovs/* $(1)/usr/lib/python$(PYTHON_VERSION)/ovs
 endef
 
 define Package/openvswitch-ipsec/install
@@ -160,17 +189,25 @@ endef
 
 define Package/openvswitch-benchmark/install
        $(INSTALL_DIR) $(1)/usr/bin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/utilities/.libs/ovs-benchmark $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ovs-benchmark $(1)/usr/bin/
 endef
 
-define Package/openvswitch/postinst
-#!/bin/sh
-[ -n "$${IPKG_INSTROOT}" ] || /etc/init.d/openvswitch enable || true
+define Package/openvswitch/install
+       :
 endef
 
-$(eval $(call BuildPackage,openvswitch))
+$(eval $(call OvsBinUtility,ovs-appctl,Open vSwitch app control utility))
+$(eval $(call OvsBinUtility,ovs-ofctl,Open vSwitch OpenFlow control utility))
+$(eval $(call OvsBinUtility,ovs-dpctl,Open vSwitch datapath management utility))
+$(eval $(call OvsBinUtility,ovs-vsctl,Open vSwitch ovs-vswitchd management utility))
+$(eval $(call OvsBinUtility,ovsdb-client,Open vSwitch database JSON-RPC client))
+
+$(foreach t,$(OVS_BIN_TOOLS),$(eval $(call BuildPackage,openvswitch-$(t))))
+
+$(eval $(call BuildPackage,openvswitch-base))
 $(eval $(call BuildPackage,openvswitch-python))
 $(eval $(call BuildPackage,openvswitch-ipsec))
 $(eval $(call BuildPackage,openvswitch-benchmark))
+$(eval $(call BuildPackage,openvswitch))
 $(eval $(call KernelPackage,openvswitch))
 
diff --git a/net/openvswitch/patches/0003-datapath-do-not-add-vlan_hwaccel_push_inside-for-ker.patch b/net/openvswitch/patches/0003-datapath-do-not-add-vlan_hwaccel_push_inside-for-ker.patch
deleted file mode 100644 (file)
index 673b8d6..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 5919cb26c631b1dd77a745a3c546f9d117ed34b3 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sat, 23 May 2015 18:12:09 +0200
-Subject: [PATCH] datapath: do not add vlan_hwaccel_push_inside() for kernel >=
- 3.18.13
-
-The vlan_hwaccel_push_inside() function was backported in this commit
-to kernel 3.18.13:
-
-commit a67e2e88342accd49587d9bad72f6dabd7673f7c
-Author: Jiri Pirko <jiri@resnulli.us>
-Date:   Wed Nov 19 14:04:59 2014 +0100
-
-    vlan: introduce *vlan_hwaccel_push_inside helpers
-
-    [ Upstream commit 5968250c868ceee680aa77395b24e6ddcae17d36 ]
-
-Without this patch compilation breaks on kernel >= 3.18.13
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- datapath/linux/compat/include/linux/if_vlan.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/datapath/linux/compat/include/linux/if_vlan.h
-+++ b/datapath/linux/compat/include/linux/if_vlan.h
-@@ -52,7 +52,7 @@ static inline struct sk_buff *rpl_vlan_i
- }
- #endif
--#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,18,13)
- /*
-  * __vlan_hwaccel_push_inside - pushes vlan tag to the payload
-  * @skb: skbuff to tag
diff --git a/net/openvswitch/patches/0005-datapath-Add-net-ip6_checksum.h-to-stt.c.patch b/net/openvswitch/patches/0005-datapath-Add-net-ip6_checksum.h-to-stt.c.patch
deleted file mode 100644 (file)
index 61504d2..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 554daf066bf4a8eb7bbc8edc1a877a3afc0de38d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jason=20K=C3=B6lker?= <jason@koelker.net>
-Date: Wed, 2 Sep 2015 22:40:24 +0000
-Subject: [PATCH] datapath: Add net/ip6_checksum.h to stt.c
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-`csum_ipv6_magic` is an asm inline on most platforms. However if it is
-not defined (like on ppc64le) including <net/ip6_checksum.h> will fall
-back to the c implementation by wrapping it in an
-`#ifndef _HAVE_ARCH_IPV6_CSUM`.
-
-Signed-off-by: Jason Kölker <jason@koelker.net>
-Signed-off-by: Jesse Gross <jesse@nicira.com>
----
- datapath/linux/compat/stt.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/datapath/linux/compat/stt.c b/datapath/linux/compat/stt.c
-index b44f470..dd21753 100644
---- a/datapath/linux/compat/stt.c
-+++ b/datapath/linux/compat/stt.c
-@@ -30,6 +30,7 @@
- #include <net/icmp.h>
- #include <net/inet_ecn.h>
- #include <net/ip.h>
-+#include <net/ip6_checksum.h>
- #include <net/net_namespace.h>
- #include <net/netns/generic.h>
- #include <net/sock.h>
--- 
-2.1.4
-
diff --git a/net/openvswitch/patches/0006-force-kernel-4-1.patch b/net/openvswitch/patches/0006-force-kernel-4-1.patch
deleted file mode 100644 (file)
index d87fd90..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/acinclude.m4 b/acinclude.m4
-index 45cfaf6..42866de 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -134,10 +134,10 @@ AC_DEFUN([OVS_CHECK_LINUX], [
-     AC_MSG_RESULT([$kversion])
-     if test "$version" -ge 4; then
--       if test "$version" = 4 && test "$patchlevel" -le 0; then
-+       if test "$version" = 4 && test "$patchlevel" -le 1; then
-           : # Linux 4.x
-        else
--          AC_ERROR([Linux kernel in $KBUILD is version $kversion, but version newer than 4.0.x is not supported (please refer to the FAQ for advice)])
-+          AC_ERROR([Linux kernel in $KBUILD is version $kversion, but version newer than 4.1.x is not supported (please refer to the FAQ for advice)])
-        fi
-     elif test "$version" = 3; then
-        : # Linux 3.x
diff --git a/net/openvswitch/patches/0007-add-netns-compat.patch b/net/openvswitch/patches/0007-add-netns-compat.patch
deleted file mode 100644 (file)
index b6592c8..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-diff --git a/datapath/datapath.h b/datapath/datapath.h
-index fdf35f0..02be8be 100644
---- a/datapath/datapath.h
-+++ b/datapath/datapath.h
-@@ -86,10 +86,8 @@ struct datapath {
-       /* Stats. */
-       struct dp_stats_percpu __percpu *stats_percpu;
--#ifdef CONFIG_NET_NS
-       /* Network namespace ref. */
--      struct net *net;
--#endif
-+      possible_net_t net;
-       u32 user_features;
- };
-@@ -154,12 +152,12 @@ int lockdep_ovsl_is_held(void);
- static inline struct net *ovs_dp_get_net(const struct datapath *dp)
- {
--      return read_pnet(&dp->net);
-+      return ovs_compat_read_pnet(&dp->net);
- }
- static inline void ovs_dp_set_net(struct datapath *dp, struct net *net)
- {
--      write_pnet(&dp->net, net);
-+      ovs_compat_write_pnet(&dp->net, net);
- }
- struct vport *ovs_lookup_vport(const struct datapath *dp, u16 port_no);
-diff --git a/datapath/linux/compat/include/net/net_namespace.h b/datapath/linux/compat/include/net/net_namespace.h
-index b7dbfe3..7763584 100644
---- a/datapath/linux/compat/include/net/net_namespace.h
-+++ b/datapath/linux/compat/include/net/net_namespace.h
-@@ -51,4 +51,57 @@ static void rpl_unregister_pernet_gen_##TYPE(struct rpl_pernet_operations *rpl_p
- #define DEFINE_COMPAT_PNET_REG_FUNC(TYPE)
- #endif /* 2.6.33 */
-+/* In recent kernel versions (4.1) this type is defined ; for older versions we have to define it */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0)
-+#define ovs_compat_read_pnet  read_pnet
-+#define ovs_compat_write_pnet write_pnet
-+
-+#if defined(CONFIG_NET_NS) && defined(NETNS_REFCNT_DEBUG)
-+static inline struct net *hold_net(struct net *net)
-+{
-+      if (net)
-+              atomic_inc(&net->use_count);
-+      return net;
-+}
-+
-+static inline void release_net(struct net *net)
-+{
-+      if (net)
-+              atomic_dec(&net->use_count);
-+}
-+#else
-+static inline struct net *hold_net(struct net *net)
-+{
-+      return net;
-+}
-+
-+static inline void release_net(struct net *net)
-+{
-+}
-+#endif
-+
-+#else /* lower than 4.1 */
-+typedef struct {
-+#ifdef CONFIG_NET_NS
-+      struct net *net;
-+#endif
-+} possible_net_t;
-+
-+static inline void ovs_compat_write_pnet(possible_net_t *pnet, struct net *net)
-+{
-+#ifdef CONFIG_NET_NS
-+      pnet->net = net;
-+#endif
-+}
-+
-+static inline struct net *ovs_compat_read_pnet(const possible_net_t *pnet)
-+{
-+#ifdef CONFIG_NET_NS
-+      return pnet->net;
-+#else
-+      return &init_net;
-+#endif
-+}
-+#endif /* 4.1.0 */
-+
- #endif /* net/net_namespace.h wrapper */
diff --git a/net/openvswitch/patches/0009-fix-test-ovn.patch b/net/openvswitch/patches/0009-fix-test-ovn.patch
new file mode 100644 (file)
index 0000000..10bd37a
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/tests/test-ovn.c
++++ b/tests/test-ovn.c
+@@ -1043,7 +1043,7 @@ wait_pid(pid_t *pids, int *n)
+     int status;
+     pid_t pid;
+-    pid = waitpid(WAIT_ANY, &status, 0);
++    pid = waitpid(-1, &status, 0);
+     if (pid < 0) {
+         ovs_fatal(errno, "waitpid failed");
+     } else if (WIFEXITED(status)) {
diff --git a/net/openvswitch/patches/0010-patch-nf_ip_hook-4.1.patch b/net/openvswitch/patches/0010-patch-nf_ip_hook-4.1.patch
deleted file mode 100644 (file)
index 46c3432..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/datapath/linux/compat/stt.c b/datapath/linux/compat/stt.c
-index b44f470..f95416e 100644
---- a/datapath/linux/compat/stt.c
-+++ b/datapath/linux/compat/stt.c
-@@ -1326,9 +1326,14 @@ static void clean_percpu(struct work_struct *work)
- static unsigned int nf_ip_hook(FIRST_PARAM
-                              struct sk_buff *skb,
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0)
-+                             const struct nf_hook_state *state
-+#else
-                              const struct net_device *in,
-                              const struct net_device *out,
--                             int (*okfn)(struct sk_buff *))
-+                             int (*okfn)(struct sk_buff *)
-+#endif
-+                             )
- {
-       struct stt_sock *stt_sock;
-       int ip_hdr_len;
diff --git a/net/openvswitch/patches/0011-fix-vxlan-xmit-skb-4.1.patch b/net/openvswitch/patches/0011-fix-vxlan-xmit-skb-4.1.patch
deleted file mode 100644 (file)
index 1aecdab..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/datapath/linux/compat/include/net/vxlan.h b/datapath/linux/compat/include/net/vxlan.h
-index 0d60c18..db4dfb6 100644
---- a/datapath/linux/compat/include/net/vxlan.h
-+++ b/datapath/linux/compat/include/net/vxlan.h
-@@ -99,8 +99,13 @@ static inline int rpl_vxlan_xmit_skb(struct vxlan_sock *vs,
-               return -ENOSYS;
-       }
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0)
-+      return vxlan_xmit_skb(rt, vs->sock->sk, skb, src, dst, tos, ttl, df,
-+                            src_port, dst_port, md, xnet, vxflags);
-+#else
-       return vxlan_xmit_skb(rt, skb, src, dst, tos, ttl, df,
-                             src_port, dst_port, md, xnet, vxflags);
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0)  */
- }
- #define vxlan_xmit_skb rpl_vxlan_xmit_skb
diff --git a/net/openvswitch/patches/0012-fix-vport-lisp-4.1.patch b/net/openvswitch/patches/0012-fix-vport-lisp-4.1.patch
deleted file mode 100644 (file)
index 47bbfb4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/datapath/vport-lisp.c b/datapath/vport-lisp.c
-index 0024eb4..ce1c3a8 100644
---- a/datapath/vport-lisp.c
-+++ b/datapath/vport-lisp.c
-@@ -455,7 +455,11 @@ static int lisp_send(struct vport *vport, struct sk_buff *skb)
-       ovs_skb_set_inner_protocol(skb, skb->protocol);
-       df = tun_key->tun_flags & TUNNEL_DONT_FRAGMENT ? htons(IP_DF) : 0;
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0)
-+      sent_len = udp_tunnel_xmit_skb(rt, lisp_port->lisp_rcv_socket->sk, skb, saddr, tun_key->ipv4_dst,
-+#else
-       sent_len = udp_tunnel_xmit_skb(rt, skb, saddr, tun_key->ipv4_dst,
-+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,0)  */
-                                      tun_key->ipv4_tos, tun_key->ipv4_ttl,
-                                      df, src_port, dst_port, false, true);
index 76f56156fa63d17ed020f35b461a50d8ae31aebd..8c5ca2c87ef30c72bbac5ca005e07c4785058ac4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=privoxy
 PKG_VERSION:=3.0.23
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=privoxy-$(PKG_VERSION)-stable-src.tar.gz
 PKG_SOURCE_URL:=@SF/ijbswa
index b8d978fc34a2cc9acb5ab03ee9f0a78ffbeb484c..96660dd5d7a2c99e0ea73ddbf8d91311f643c561 100644 (file)
@@ -28,7 +28,7 @@ _uci2conf() {
                                # detect list options (LENGTH) and ignore
                                echo $__OPT | grep -i "_LENGTH" >/dev/null 2>&1 && return
                                # detect list options (ITEM) and ignore
-                               echo $__OPT | grep -i "_ITEM" >/dev/null 2>&1 && __OPT=$(echo $__OPT | sed -e "s#_ITEM.##g")
+                               echo $__OPT | grep -i "_ITEM" >/dev/null 2>&1 && __OPT=$(echo $__OPT | sed -e "s#_ITEM.*##g")
                                # uci only accept "_" but we need "-"
                                local __OPT=$(echo $__OPT | sed -e "s#_#-#g")
                                # write to config
index f604a9fdf541c7a4488fe3f276686ee5893143f2..7e292d644bd52e9aeabd3ca4ee79d1cbf20738b0 100644 (file)
@@ -7,8 +7,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=radicale
-PKG_VERSION:=0.10
-PKG_RELEASE:=2
+PKG_VERSION:=1.1
+PKG_RELEASE:=1
 PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
 
 PKG_LICENSE:=GPL-3.0
@@ -16,7 +16,7 @@ PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE:=Radicale-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://pypi.python.org/packages/source/R/Radicale/
-PKG_MD5SUM:=32655d8893962956ead0ad690cca6044
+PKG_MD5SUM:=2e3f11d05d7a21ee412dfd7bd5c38961
 
 # needed for "r"adicale <-> "R"adicale
 PKG_BUILD_DIR:=$(BUILD_DIR)/Radicale-$(PKG_VERSION)
index 58148f8233f25f235b6d4ca7218bcf7912c862e7..149ce2b6f6306a0f654471f2fbaa4cae92c332ad 100644 (file)
 # Each Radicale's config [section] is setup as UCI config setting 'section'
 #
 
+####################################################
+# OpenWrt specific settings
+# not part of radicale package
+#
+config system 'radicale'
+       # delayed startup at boot (default 10 seconds)
+       # to wait for netifd to bring up interfaces
+       # during this time iface hotplug events are ignored
+#      option  boot_delay      '10'
+
 ####################################################
 # Server options
 #
@@ -65,7 +75,7 @@ config        setting 'encoding'
 ####################################################
 # Authentication options
 #
-config setting 'auth'
+config setting 'auth'
 
        # Authentication method
        # Value: None | htpasswd | IMAP | LDAP | PAM | courier | http | remote_user | custom
index 3b91419864f7a5a02fbcffbb9441bf18b9b0335d..aeb7c41e2fd4d356df264f1971e97af63bab251b 100644 (file)
@@ -2,6 +2,8 @@
 
 # only (re-)start on ifup
 [ "$ACTION" = "ifup" ] || exit 0
+# only start if boot_delay is done
+[ -f /tmp/radicale.hotplug ] || exit 0
 
 _PID=$(ps | grep '[p]ython.*[r]adicale' 2>/dev/null | awk '{print $1}')
 kill -1 $_PID 2>/dev/null
index 991ca5051296c390e14d599d728ee7dd96ba1dbc..8b3bb49936218450ec0ba63ba0cce33f7a70b92f 100755 (executable)
@@ -163,7 +163,22 @@ _set_permission() {
 }
 
 boot() {
-       return 0        # will be started by "iface" hotplug events
+       # wait a given time (default 10 seconds) before startup
+       # to wait for interfaces to come up / not using hotplug events during boot
+       _start() {
+               [ $1 -gt 0 ] && sleep $1
+               start
+       }
+
+       local _DELAY
+       _DELAY=$(uci_get "radicale" "system" "boot_delay" "10")
+       _start $_DELAY &
+       return 0
+}
+
+shutdown() {
+       rm -f /tmp/radicale.hotplug
+       stop
 }
 
 start() {
@@ -184,6 +199,7 @@ start() {
        _set_permission
 
        radicale --daemon --config=$SYSCFG
+       touch /tmp/radicale.hotplug
 
        _running &      # check if running and syslog
 
index f4419d3dbb26309065df9a766eabc27ad30daa70..f9fa04758c39c1f74cca5385ebe75b2d0be7277d 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rsync
-PKG_VERSION:=3.1.1
-PKG_RELEASE:=2
+PKG_VERSION:=3.1.2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://rsync.samba.org/ftp/rsync/src
-PKG_MD5SUM:=43bd6676f0b404326eee2d63be3cdcfe
+PKG_MD5SUM:=0f758d7e000c0f7f7d3792610fad70cb
 PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
diff --git a/net/rsync/patches/000-CVE-2014-9512.patch b/net/rsync/patches/000-CVE-2014-9512.patch
deleted file mode 100644 (file)
index aaefbad..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-From: Wayne Davison <wayned@samba.org>
-Date: Wed, 31 Dec 2014 20:41:03 +0000 (-0800)
-Subject: Complain if an inc-recursive path is not right for its dir.
-X-Git-Url: https://git.samba.org/?p=rsync.git;a=commitdiff_plain;h=962f8b90045ab331fc04c9e65f80f1a53e68243b
-
-Complain if an inc-recursive path is not right for its dir.
-This ensures that a malicious sender can't use a just-sent
-symlink as a trasnfer path.
----
-
-diff --git a/flist.c b/flist.c
-index c24672e..92e4b65 100644
---- a/flist.c
-+++ b/flist.c
-@@ -2435,8 +2435,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
-       return flist;
- }
--struct file_list *recv_file_list(int f)
-+struct file_list *recv_file_list(int f, int dir_ndx)
- {
-+      const char *good_dirname = NULL;
-       struct file_list *flist;
-       int dstart, flags;
-       int64 start_read;
-@@ -2492,6 +2493,23 @@ struct file_list *recv_file_list(int f)
-               flist_expand(flist, 1);
-               file = recv_file_entry(f, flist, flags);
-+              if (inc_recurse) {
-+                      static const char empty_dir[] = "\0";
-+                      const char *cur_dir = file->dirname ? file->dirname : empty_dir;
-+                      if (relative_paths && *cur_dir == '/')
-+                              cur_dir++;
-+                      if (cur_dir != good_dirname) {
-+                              const char *d = dir_ndx >= 0 ? f_name(dir_flist->files[dir_ndx], NULL) : empty_dir;
-+                              if (strcmp(cur_dir, d) != 0) {
-+                                      rprintf(FERROR,
-+                                              "ABORTING due to invalid dir prefix from sender: %s (should be: %s)\n",
-+                                              cur_dir, d);
-+                                      exit_cleanup(RERR_PROTOCOL);
-+                              }
-+                              good_dirname = cur_dir;
-+                      }
-+              }
-+
-               if (S_ISREG(file->mode)) {
-                       /* Already counted */
-               } else if (S_ISDIR(file->mode)) {
-@@ -2615,7 +2633,7 @@ void recv_additional_file_list(int f)
-                       rprintf(FINFO, "[%s] receiving flist for dir %d\n",
-                               who_am_i(), ndx);
-               }
--              flist = recv_file_list(f);
-+              flist = recv_file_list(f, ndx);
-               flist->parent_ndx = ndx;
-       }
- }
-diff --git a/io.c b/io.c
-index b9a9bd0..a868fa9 100644
---- a/io.c
-+++ b/io.c
-@@ -1685,7 +1685,7 @@ void wait_for_receiver(void)
-                               rprintf(FINFO, "[%s] receiving flist for dir %d\n",
-                                       who_am_i(), ndx);
-                       }
--                      flist = recv_file_list(iobuf.in_fd);
-+                      flist = recv_file_list(iobuf.in_fd, ndx);
-                       flist->parent_ndx = ndx;
- #ifdef SUPPORT_HARD_LINKS
-                       if (preserve_hard_links)
-diff --git a/main.c b/main.c
-index e7a13f7..713b818 100644
---- a/main.c
-+++ b/main.c
-@@ -1009,7 +1009,7 @@ static void do_server_recv(int f_in, int f_out, int argc, char *argv[])
-               filesfrom_fd = -1;
-       }
--      flist = recv_file_list(f_in);
-+      flist = recv_file_list(f_in, -1);
-       if (!flist) {
-               rprintf(FERROR,"server_recv: recv_file_list error\n");
-               exit_cleanup(RERR_FILESELECT);
-@@ -1183,7 +1183,7 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
-       if (write_batch && !am_server)
-               start_write_batch(f_in);
--      flist = recv_file_list(f_in);
-+      flist = recv_file_list(f_in, -1);
-       if (inc_recurse && file_total == 1)
-               recv_additional_file_list(f_in);
-diff --git a/rsync.c b/rsync.c
-index 68ff6b1..c3ecc51 100644
---- a/rsync.c
-+++ b/rsync.c
-@@ -364,7 +364,7 @@ int read_ndx_and_attrs(int f_in, int f_out, int *iflag_ptr, uchar *type_ptr,
-               }
-               /* Send all the data we read for this flist to the generator. */
-               start_flist_forward(ndx);
--              flist = recv_file_list(f_in);
-+              flist = recv_file_list(f_in, ndx);
-               flist->parent_ndx = ndx;
-               stop_flist_forward();
-       }
index e8af27a9ef57cbb2ce5d9a559a2e1880d3f84bb5..4771e8d1492999baa4c75804cdff24527abee94d 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=scapy
-PKG_VERSION:=2.2.0
+PKG_VERSION:=2.3.1
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=PKG-INFO
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
 PKG_SOURCE_URL:=https://bitbucket.org/secdev/scapy/downloads/
-PKG_MD5SUM:=d68903c5d877820026dc544caa0b5d3c
+PKG_MD5SUM:=a30d828e59801d1d092219b349f1da9e
 
 PKG_BUILD_DEPENDS:=python python-setuptools
 
index 25fcead133a76bc375a9cb2f21920d9ddbeaaab2..00d42ccc96965aca66af7222998bf846cea37208 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=znc
-PKG_VERSION:=1.6.1
+PKG_VERSION:=1.6.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://znc.in/releases \
                http://znc.in/releases/archive
-PKG_MD5SUM:=8e29289e6229b6d2473de202170745ab
+PKG_MD5SUM:=89f6696ed366661f7432ece343fd19d0
 
 PKG_MAINTAINER:=Jonas Gorski <jogo@openwrt.org>
 PKG_LICENSE:=Apache-2.0
@@ -277,8 +277,18 @@ CONFIGURE_VARS += \
        LIBS="-lstdc++ -lm -lssl -lcrypto $(LIBGCC_S) -lc"
 
 CONFIGURE_ARGS += \
-       --disable-c-ares \
-       --disable-perl
+       --disable-charset \
+       --disable-cyrus \
+       --disable-debug \
+       --enable-largefile \
+       --disable-perl \
+       --enable-poll \
+       --disable-python \
+       --enable-ssl \
+       --disable-swig \
+       --disable-tcl \
+       --enable-tdns \
+       --enable-zlib
 
 define Build/Configure
        $(call Build/Configure/Default,)
index 51f459f0f4703f0429acfe7604ec8e41604c5ba1..9388c6e460693c5c84a4c81e04fef1dc59de74b6 100644 (file)
@@ -8,9 +8,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=forked-daapd
-PKG_VERSION:=23.2
-PKG_RELEASE:=20150622
-PKG_REV:=227017ef5ba8df921b2f1db681a46494ec296b8b
+PKG_VERSION:=23.4
+PKG_RELEASE:=20160101
+PKG_REV:=90514de7c8d9bf06b54596bc66e0668181eee25a
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
@@ -28,6 +28,7 @@ PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
 
 define Package/forked-daapd
 SECTION:=sound
@@ -36,7 +37,7 @@ TITLE:=iTunes (DAAP) server for Apple Remote and AirPlay
 URL:=https://github.com/ejurgensen/forked-daapd
 DEPENDS:=+libgpg-error +libgcrypt +libgdbm +zlib +libexpat +libunistring \
        +libevent2 +libdaemon +libantlr3c +confuse +alsa-lib +libffmpeg-full \
-       +mxml +libavahi-client +sqlite3-cli +libplist +libcurl
+       +mxml +libavahi-client +sqlite3-cli +libplist +libcurl $(ICONV_DEPENDS)
 endef
 
 define Package/forked-daapd/description
index 6236acecb0f617a34cee396357dc04bb478b7066..762f62509fcaf87c65bb89ed16532b762b3edb64 100644 (file)
@@ -13,7 +13,7 @@ index 0000000..3de527b
 \ No newline at end of file
 diff --git a/src/pregen/DAAP2SQL.c b/src/pregen/DAAP2SQL.c
 new file mode 100644
-index 0000000..f13209c
+index 0000000..04d6153
 --- /dev/null
 +++ b/src/pregen/DAAP2SQL.c
 @@ -0,0 +1,975 @@
@@ -21,7 +21,7 @@ index 0000000..f13209c
 + *  This C source file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : DAAP2SQL.g
-+ *     -                            On : 2015-06-27 19:05:20
++ *     -                            On : 2016-01-01 12:23:43
 + *     -           for the tree parser : DAAP2SQLTreeParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -994,7 +994,7 @@ index 0000000..f13209c
 + */
 diff --git a/src/pregen/DAAP2SQL.h b/src/pregen/DAAP2SQL.h
 new file mode 100644
-index 0000000..2b1e806
+index 0000000..e829049
 --- /dev/null
 +++ b/src/pregen/DAAP2SQL.h
 @@ -0,0 +1,195 @@
@@ -1002,7 +1002,7 @@ index 0000000..2b1e806
 + *  This C header file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : DAAP2SQL.g
-+ *     -                            On : 2015-06-27 19:05:20
++ *     -                            On : 2016-01-01 12:23:43
 + *     -           for the tree parser : DAAP2SQLTreeParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -1207,7 +1207,7 @@ index 0000000..385d80b
 \ No newline at end of file
 diff --git a/src/pregen/DAAPLexer.c b/src/pregen/DAAPLexer.c
 new file mode 100644
-index 0000000..b72f28a
+index 0000000..eab3ff4
 --- /dev/null
 +++ b/src/pregen/DAAPLexer.c
 @@ -0,0 +1,1101 @@
@@ -1215,7 +1215,7 @@ index 0000000..b72f28a
 + *  This C source file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : DAAP.g
-+ *     -                            On : 2015-06-27 19:05:17
++ *     -                            On : 2016-01-01 12:23:41
 + *     -                 for the lexer : DAAPLexerLexer *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -2314,7 +2314,7 @@ index 0000000..b72f28a
 + */
 diff --git a/src/pregen/DAAPLexer.h b/src/pregen/DAAPLexer.h
 new file mode 100644
-index 0000000..401b214
+index 0000000..685a0bc
 --- /dev/null
 +++ b/src/pregen/DAAPLexer.h
 @@ -0,0 +1,188 @@
@@ -2322,7 +2322,7 @@ index 0000000..401b214
 + *  This C header file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : DAAP.g
-+ *     -                            On : 2015-06-27 19:05:17
++ *     -                            On : 2016-01-01 12:23:41
 + *     -                 for the lexer : DAAPLexerLexer *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -2508,7 +2508,7 @@ index 0000000..401b214
 +/* END - Note:Keep extra line feed to satisfy UNIX systems */
 diff --git a/src/pregen/DAAPParser.c b/src/pregen/DAAPParser.c
 new file mode 100644
-index 0000000..7a9aae9
+index 0000000..1091f05
 --- /dev/null
 +++ b/src/pregen/DAAPParser.c
 @@ -0,0 +1,1014 @@
@@ -2516,7 +2516,7 @@ index 0000000..7a9aae9
 + *  This C source file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : DAAP.g
-+ *     -                            On : 2015-06-27 19:05:16
++ *     -                            On : 2016-01-01 12:23:41
 + *     -                for the parser : DAAPParserParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -3528,7 +3528,7 @@ index 0000000..7a9aae9
 + */
 diff --git a/src/pregen/DAAPParser.h b/src/pregen/DAAPParser.h
 new file mode 100644
-index 0000000..82ce85e
+index 0000000..e206694
 --- /dev/null
 +++ b/src/pregen/DAAPParser.h
 @@ -0,0 +1,226 @@
@@ -3536,7 +3536,7 @@ index 0000000..82ce85e
 + *  This C header file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : DAAP.g
-+ *     -                            On : 2015-06-27 19:05:16
++ *     -                            On : 2016-01-01 12:23:41
 + *     -                for the parser : DAAPParserParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -3773,7 +3773,7 @@ index 0000000..89256ff
 \ No newline at end of file
 diff --git a/src/pregen/RSP2SQL.c b/src/pregen/RSP2SQL.c
 new file mode 100644
-index 0000000..05b54d3
+index 0000000..40958f9
 --- /dev/null
 +++ b/src/pregen/RSP2SQL.c
 @@ -0,0 +1,2546 @@
@@ -3781,7 +3781,7 @@ index 0000000..05b54d3
 + *  This C source file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : RSP2SQL.g
-+ *     -                            On : 2015-06-27 19:05:19
++ *     -                            On : 2016-01-01 12:23:43
 + *     -           for the tree parser : RSP2SQLTreeParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -6325,7 +6325,7 @@ index 0000000..05b54d3
 + */
 diff --git a/src/pregen/RSP2SQL.h b/src/pregen/RSP2SQL.h
 new file mode 100644
-index 0000000..a94e317
+index 0000000..08ac7bb
 --- /dev/null
 +++ b/src/pregen/RSP2SQL.h
 @@ -0,0 +1,291 @@
@@ -6333,7 +6333,7 @@ index 0000000..a94e317
 + *  This C header file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : RSP2SQL.g
-+ *     -                            On : 2015-06-27 19:05:19
++ *     -                            On : 2016-01-01 12:23:43
 + *     -           for the tree parser : RSP2SQLTreeParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -6634,7 +6634,7 @@ index 0000000..53d8cda
 \ No newline at end of file
 diff --git a/src/pregen/RSPLexer.c b/src/pregen/RSPLexer.c
 new file mode 100644
-index 0000000..bc4245a
+index 0000000..2e3faae
 --- /dev/null
 +++ b/src/pregen/RSPLexer.c
 @@ -0,0 +1,4867 @@
@@ -6642,7 +6642,7 @@ index 0000000..bc4245a
 + *  This C source file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : RSP.g
-+ *     -                            On : 2015-06-27 19:05:18
++ *     -                            On : 2016-01-01 12:23:42
 + *     -                 for the lexer : RSPLexerLexer *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -11507,7 +11507,7 @@ index 0000000..bc4245a
 + */
 diff --git a/src/pregen/RSPLexer.h b/src/pregen/RSPLexer.h
 new file mode 100644
-index 0000000..d93f93e
+index 0000000..27bc791
 --- /dev/null
 +++ b/src/pregen/RSPLexer.h
 @@ -0,0 +1,254 @@
@@ -11515,7 +11515,7 @@ index 0000000..d93f93e
 + *  This C header file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : RSP.g
-+ *     -                            On : 2015-06-27 19:05:18
++ *     -                            On : 2016-01-01 12:23:42
 + *     -                 for the lexer : RSPLexerLexer *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -11767,15 +11767,15 @@ index 0000000..d93f93e
 +/* END - Note:Keep extra line feed to satisfy UNIX systems */
 diff --git a/src/pregen/RSPParser.c b/src/pregen/RSPParser.c
 new file mode 100644
-index 0000000..c0f3e2a
+index 0000000..ba8a9d2
 --- /dev/null
 +++ b/src/pregen/RSPParser.c
-@@ -0,0 +1,2684 @@
+@@ -0,0 +1,3152 @@
 +/** \file
 + *  This C source file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : RSP.g
-+ *     -                            On : 2015-06-27 19:05:18
++ *     -                            On : 2016-01-01 12:23:42
 + *     -                for the parser : RSPParserParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -12214,66 +12214,102 @@ index 0000000..c0f3e2a
 +/** Bitset defining follow set for error recovery in rule state: FOLLOW_STR_in_strcrit161  */
 +static        ANTLR3_BITWORD FOLLOW_STR_in_strcrit161_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000000002) };
 +static  ANTLR3_BITSET_LIST FOLLOW_STR_in_strcrit161   = { FOLLOW_STR_in_strcrit161_bits, 1    };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_strop0  */
-+static        ANTLR3_BITWORD FOLLOW_set_in_strop0_bits[]      = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_set_in_strop0       = { FOLLOW_set_in_strop0_bits, 1        };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIELD_in_intcrit211  */
-+static        ANTLR3_BITWORD FOLLOW_FIELD_in_intcrit211_bits[]        = { ANTLR3_UINT64_LIT(0x00000000001E1000) };
-+static  ANTLR3_BITSET_LIST FOLLOW_FIELD_in_intcrit211 = { FOLLOW_FIELD_in_intcrit211_bits, 1  };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_intop_in_intcrit213  */
-+static        ANTLR3_BITWORD FOLLOW_intop_in_intcrit213_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000010000) };
-+static  ANTLR3_BITSET_LIST FOLLOW_intop_in_intcrit213 = { FOLLOW_intop_in_intcrit213_bits, 1  };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_intcrit215  */
-+static        ANTLR3_BITWORD FOLLOW_INT_in_intcrit215_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_INT_in_intcrit215   = { FOLLOW_INT_in_intcrit215_bits, 1    };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIELD_in_intcrit232  */
-+static        ANTLR3_BITWORD FOLLOW_FIELD_in_intcrit232_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000000800) };
-+static  ANTLR3_BITSET_LIST FOLLOW_FIELD_in_intcrit232 = { FOLLOW_FIELD_in_intcrit232_bits, 1  };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_in_intcrit234  */
-+static        ANTLR3_BITWORD FOLLOW_NOT_in_intcrit234_bits[]  = { ANTLR3_UINT64_LIT(0x00000000001E1000) };
-+static  ANTLR3_BITSET_LIST FOLLOW_NOT_in_intcrit234   = { FOLLOW_NOT_in_intcrit234_bits, 1    };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_intop_in_intcrit236  */
-+static        ANTLR3_BITWORD FOLLOW_intop_in_intcrit236_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000010000) };
-+static  ANTLR3_BITSET_LIST FOLLOW_intop_in_intcrit236 = { FOLLOW_intop_in_intcrit236_bits, 1  };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_intcrit238  */
-+static        ANTLR3_BITWORD FOLLOW_INT_in_intcrit238_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_INT_in_intcrit238   = { FOLLOW_INT_in_intcrit238_bits, 1    };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_intop0  */
-+static        ANTLR3_BITWORD FOLLOW_set_in_intop0_bits[]      = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_set_in_intop0       = { FOLLOW_set_in_intop0_bits, 1        };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIELD_in_datecrit292  */
-+static        ANTLR3_BITWORD FOLLOW_FIELD_in_datecrit292_bits[]       = { ANTLR3_UINT64_LIT(0x0000000000600000) };
-+static  ANTLR3_BITSET_LIST FOLLOW_FIELD_in_datecrit292        = { FOLLOW_FIELD_in_datecrit292_bits, 1 };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateop_in_datecrit294  */
-+static        ANTLR3_BITWORD FOLLOW_dateop_in_datecrit294_bits[]      = { ANTLR3_UINT64_LIT(0x0000000001810000) };
-+static  ANTLR3_BITSET_LIST FOLLOW_dateop_in_datecrit294       = { FOLLOW_dateop_in_datecrit294_bits, 1        };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_datespec_in_datecrit296  */
-+static        ANTLR3_BITWORD FOLLOW_datespec_in_datecrit296_bits[]    = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_datespec_in_datecrit296     = { FOLLOW_datespec_in_datecrit296_bits, 1      };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_dateop0  */
-+static        ANTLR3_BITWORD FOLLOW_set_in_dateop0_bits[]     = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_set_in_dateop0      = { FOLLOW_set_in_dateop0_bits, 1       };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateref_in_datespec331  */
-+static        ANTLR3_BITWORD FOLLOW_dateref_in_datespec331_bits[]     = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_dateref_in_datespec331      = { FOLLOW_dateref_in_datespec331_bits, 1       };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_datespec336  */
-+static        ANTLR3_BITWORD FOLLOW_INT_in_datespec336_bits[] = { ANTLR3_UINT64_LIT(0x000000001E000000) };
-+static  ANTLR3_BITSET_LIST FOLLOW_INT_in_datespec336  = { FOLLOW_INT_in_datespec336_bits, 1   };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateintval_in_datespec338  */
-+static        ANTLR3_BITWORD FOLLOW_dateintval_in_datespec338_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000600000) };
-+static  ANTLR3_BITSET_LIST FOLLOW_dateintval_in_datespec338   = { FOLLOW_dateintval_in_datespec338_bits, 1    };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateop_in_datespec340  */
-+static        ANTLR3_BITWORD FOLLOW_dateop_in_datespec340_bits[]      = { ANTLR3_UINT64_LIT(0x0000000001800000) };
-+static  ANTLR3_BITSET_LIST FOLLOW_dateop_in_datespec340       = { FOLLOW_dateop_in_datespec340_bits, 1        };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateref_in_datespec342  */
-+static        ANTLR3_BITWORD FOLLOW_dateref_in_datespec342_bits[]     = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_dateref_in_datespec342      = { FOLLOW_dateref_in_datespec342_bits, 1       };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_dateref0  */
-+static        ANTLR3_BITWORD FOLLOW_set_in_dateref0_bits[]    = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_set_in_dateref0     = { FOLLOW_set_in_dateref0_bits, 1      };
-+/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_dateintval0  */
-+static        ANTLR3_BITWORD FOLLOW_set_in_dateintval0_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
-+static  ANTLR3_BITSET_LIST FOLLOW_set_in_dateintval0  = { FOLLOW_set_in_dateintval0_bits, 1   };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_in_strop188  */
++static        ANTLR3_BITWORD FOLLOW_EQUAL_in_strop188_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_in_strop188   = { FOLLOW_EQUAL_in_strop188_bits, 1    };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_INCLUDES_in_strop195  */
++static        ANTLR3_BITWORD FOLLOW_INCLUDES_in_strop195_bits[]       = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_INCLUDES_in_strop195        = { FOLLOW_INCLUDES_in_strop195_bits, 1 };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_STARTSW_in_strop202  */
++static        ANTLR3_BITWORD FOLLOW_STARTSW_in_strop202_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_STARTSW_in_strop202 = { FOLLOW_STARTSW_in_strop202_bits, 1  };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENDSW_in_strop209  */
++static        ANTLR3_BITWORD FOLLOW_ENDSW_in_strop209_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_ENDSW_in_strop209   = { FOLLOW_ENDSW_in_strop209_bits, 1    };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIELD_in_intcrit219  */
++static        ANTLR3_BITWORD FOLLOW_FIELD_in_intcrit219_bits[]        = { ANTLR3_UINT64_LIT(0x00000000001E1000) };
++static  ANTLR3_BITSET_LIST FOLLOW_FIELD_in_intcrit219 = { FOLLOW_FIELD_in_intcrit219_bits, 1  };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_intop_in_intcrit221  */
++static        ANTLR3_BITWORD FOLLOW_intop_in_intcrit221_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000010000) };
++static  ANTLR3_BITSET_LIST FOLLOW_intop_in_intcrit221 = { FOLLOW_intop_in_intcrit221_bits, 1  };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_intcrit223  */
++static        ANTLR3_BITWORD FOLLOW_INT_in_intcrit223_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_INT_in_intcrit223   = { FOLLOW_INT_in_intcrit223_bits, 1    };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIELD_in_intcrit240  */
++static        ANTLR3_BITWORD FOLLOW_FIELD_in_intcrit240_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000000800) };
++static  ANTLR3_BITSET_LIST FOLLOW_FIELD_in_intcrit240 = { FOLLOW_FIELD_in_intcrit240_bits, 1  };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_in_intcrit242  */
++static        ANTLR3_BITWORD FOLLOW_NOT_in_intcrit242_bits[]  = { ANTLR3_UINT64_LIT(0x00000000001E1000) };
++static  ANTLR3_BITSET_LIST FOLLOW_NOT_in_intcrit242   = { FOLLOW_NOT_in_intcrit242_bits, 1    };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_intop_in_intcrit244  */
++static        ANTLR3_BITWORD FOLLOW_intop_in_intcrit244_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000010000) };
++static  ANTLR3_BITSET_LIST FOLLOW_intop_in_intcrit244 = { FOLLOW_intop_in_intcrit244_bits, 1  };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_intcrit246  */
++static        ANTLR3_BITWORD FOLLOW_INT_in_intcrit246_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_INT_in_intcrit246   = { FOLLOW_INT_in_intcrit246_bits, 1    };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_in_intop273  */
++static        ANTLR3_BITWORD FOLLOW_EQUAL_in_intop273_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_in_intop273   = { FOLLOW_EQUAL_in_intop273_bits, 1    };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_LESS_in_intop280  */
++static        ANTLR3_BITWORD FOLLOW_LESS_in_intop280_bits[]   = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_LESS_in_intop280    = { FOLLOW_LESS_in_intop280_bits, 1     };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_GREATER_in_intop287  */
++static        ANTLR3_BITWORD FOLLOW_GREATER_in_intop287_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_GREATER_in_intop287 = { FOLLOW_GREATER_in_intop287_bits, 1  };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_LTE_in_intop294  */
++static        ANTLR3_BITWORD FOLLOW_LTE_in_intop294_bits[]    = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_LTE_in_intop294     = { FOLLOW_LTE_in_intop294_bits, 1      };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_GTE_in_intop301  */
++static        ANTLR3_BITWORD FOLLOW_GTE_in_intop301_bits[]    = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_GTE_in_intop301     = { FOLLOW_GTE_in_intop301_bits, 1      };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIELD_in_datecrit310  */
++static        ANTLR3_BITWORD FOLLOW_FIELD_in_datecrit310_bits[]       = { ANTLR3_UINT64_LIT(0x0000000000600000) };
++static  ANTLR3_BITSET_LIST FOLLOW_FIELD_in_datecrit310        = { FOLLOW_FIELD_in_datecrit310_bits, 1 };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateop_in_datecrit312  */
++static        ANTLR3_BITWORD FOLLOW_dateop_in_datecrit312_bits[]      = { ANTLR3_UINT64_LIT(0x0000000001810000) };
++static  ANTLR3_BITSET_LIST FOLLOW_dateop_in_datecrit312       = { FOLLOW_dateop_in_datecrit312_bits, 1        };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_datespec_in_datecrit314  */
++static        ANTLR3_BITWORD FOLLOW_datespec_in_datecrit314_bits[]    = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_datespec_in_datecrit314     = { FOLLOW_datespec_in_datecrit314_bits, 1      };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEFORE_in_dateop337  */
++static        ANTLR3_BITWORD FOLLOW_BEFORE_in_dateop337_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_BEFORE_in_dateop337 = { FOLLOW_BEFORE_in_dateop337_bits, 1  };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_in_dateop344  */
++static        ANTLR3_BITWORD FOLLOW_AFTER_in_dateop344_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_AFTER_in_dateop344  = { FOLLOW_AFTER_in_dateop344_bits, 1   };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateref_in_datespec353  */
++static        ANTLR3_BITWORD FOLLOW_dateref_in_datespec353_bits[]     = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_dateref_in_datespec353      = { FOLLOW_dateref_in_datespec353_bits, 1       };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_datespec358  */
++static        ANTLR3_BITWORD FOLLOW_INT_in_datespec358_bits[] = { ANTLR3_UINT64_LIT(0x000000001E000000) };
++static  ANTLR3_BITSET_LIST FOLLOW_INT_in_datespec358  = { FOLLOW_INT_in_datespec358_bits, 1   };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateintval_in_datespec360  */
++static        ANTLR3_BITWORD FOLLOW_dateintval_in_datespec360_bits[]  = { ANTLR3_UINT64_LIT(0x0000000000600000) };
++static  ANTLR3_BITSET_LIST FOLLOW_dateintval_in_datespec360   = { FOLLOW_dateintval_in_datespec360_bits, 1    };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateop_in_datespec362  */
++static        ANTLR3_BITWORD FOLLOW_dateop_in_datespec362_bits[]      = { ANTLR3_UINT64_LIT(0x0000000001800000) };
++static  ANTLR3_BITSET_LIST FOLLOW_dateop_in_datespec362       = { FOLLOW_dateop_in_datespec362_bits, 1        };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_dateref_in_datespec364  */
++static        ANTLR3_BITWORD FOLLOW_dateref_in_datespec364_bits[]     = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_dateref_in_datespec364      = { FOLLOW_dateref_in_datespec364_bits, 1       };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_in_dateref388  */
++static        ANTLR3_BITWORD FOLLOW_DATE_in_dateref388_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_DATE_in_dateref388  = { FOLLOW_DATE_in_dateref388_bits, 1   };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_TODAY_in_dateref395  */
++static        ANTLR3_BITWORD FOLLOW_TODAY_in_dateref395_bits[]        = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_TODAY_in_dateref395 = { FOLLOW_TODAY_in_dateref395_bits, 1  };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_in_dateintval408  */
++static        ANTLR3_BITWORD FOLLOW_DAY_in_dateintval408_bits[]       = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_DAY_in_dateintval408        = { FOLLOW_DAY_in_dateintval408_bits, 1 };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEEK_in_dateintval415  */
++static        ANTLR3_BITWORD FOLLOW_WEEK_in_dateintval415_bits[]      = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_WEEK_in_dateintval415       = { FOLLOW_WEEK_in_dateintval415_bits, 1        };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_MONTH_in_dateintval422  */
++static        ANTLR3_BITWORD FOLLOW_MONTH_in_dateintval422_bits[]     = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_MONTH_in_dateintval422      = { FOLLOW_MONTH_in_dateintval422_bits, 1       };
++/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_in_dateintval429  */
++static        ANTLR3_BITWORD FOLLOW_YEAR_in_dateintval429_bits[]      = { ANTLR3_UINT64_LIT(0x0000000000000002) };
++static  ANTLR3_BITSET_LIST FOLLOW_YEAR_in_dateintval429       = { FOLLOW_YEAR_in_dateintval429_bits, 1        };
 +     
 +
 + 
@@ -12819,13 +12855,6 @@ index 0000000..c0f3e2a
 +
 +                                              }
 +                                          break;
-+                                      case INCLUDES:
-+                                      case STARTSW:
-+                                      case ENDSW:
-+                                              {
-+                                                      alt4=2;
-+                                              }
-+                                          break;
 +                                      case LESS:
 +                                      case GREATER:
 +                                      case LTE:
@@ -12834,6 +12863,13 @@ index 0000000..c0f3e2a
 +                                                      alt4=3;
 +                                              }
 +                                          break;
++                                      case INCLUDES:
++                                      case STARTSW:
++                                      case ENDSW:
++                                              {
++                                                      alt4=2;
++                                              }
++                                          break;
 +
 +                                      default:
 +                                          CONSTRUCTEX();
@@ -12848,6 +12884,12 @@ index 0000000..c0f3e2a
 +
 +                              }
 +                          break;
++                      case BEFORE:
++                      case AFTER:
++                              {
++                                      alt4=4;
++                              }
++                          break;
 +                      case EQUAL:
 +                              {
 +                                      switch ( LA(3) ) 
@@ -12868,7 +12910,7 @@ index 0000000..c0f3e2a
 +                                          EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
 +                                          EXCEPTION->message      = (void *)"";
 +                                          EXCEPTION->decisionNum  = 4;
-+                                          EXCEPTION->state        = 4;
++                                          EXCEPTION->state        = 5;
 +
 +
 +                                          goto rulecritEx;
@@ -12876,12 +12918,6 @@ index 0000000..c0f3e2a
 +
 +                              }
 +                          break;
-+                      case BEFORE:
-+                      case AFTER:
-+                              {
-+                                      alt4=4;
-+                              }
-+                          break;
 +                      case LESS:
 +                      case GREATER:
 +                      case LTE:
@@ -13221,7 +13257,7 @@ index 0000000..c0f3e2a
 +
 +                       
 +                      /* AST REWRITE
-+                       * elements          : strop, STR, FIELD
++                       * elements          : FIELD, STR, strop
 +                       * token labels      : 
 +                       * rule labels       : retval
 +                       * token list labels : 
@@ -13296,7 +13332,7 @@ index 0000000..c0f3e2a
 +
 +                       
 +                      /* AST REWRITE
-+                       * elements          : NOT, strop, STR, FIELD
++                       * elements          : STR, FIELD, strop, NOT
 +                       * token labels      : 
 +                       * rule labels       : retval
 +                       * token list labels : 
@@ -13373,7 +13409,7 @@ index 0000000..c0f3e2a
 +
 +/** 
 + * $ANTLR start strop
-+ * RSP.g:46:1: strop : ( EQUAL | INCLUDES | STARTSW | ENDSW );
++ * RSP.g:46:1: strop : (equal= EQUAL | includes= INCLUDES | startsw= STARTSW | endsw= ENDSW );
 + */
 +static RSPParser_strop_return
 +strop(pRSPParser ctx)
@@ -13382,9 +13418,15 @@ index 0000000..c0f3e2a
 +
 +    pANTLR3_BASE_TREE root_0;
 +
-+    pANTLR3_COMMON_TOKEN    set23;
++    pANTLR3_COMMON_TOKEN    equal;
++    pANTLR3_COMMON_TOKEN    includes;
++    pANTLR3_COMMON_TOKEN    startsw;
++    pANTLR3_COMMON_TOKEN    endsw;
 +
-+    pANTLR3_BASE_TREE set23_tree;
++    pANTLR3_BASE_TREE equal_tree;
++    pANTLR3_BASE_TREE includes_tree;
++    pANTLR3_BASE_TREE startsw_tree;
++    pANTLR3_BASE_TREE endsw_tree;
 +
 +    /* Initialize rule variables
 +     */
@@ -13392,38 +13434,134 @@ index 0000000..c0f3e2a
 +
 +    root_0 = NULL;
 +
-+    set23       = NULL;
++    equal       = NULL;
++    includes       = NULL;
++    startsw       = NULL;
++    endsw       = NULL;
 +    retval.start = LT(1); retval.stop = retval.start;
 +
-+    set23_tree   = NULL;
++    equal_tree   = NULL;
++    includes_tree   = NULL;
++    startsw_tree   = NULL;
++    endsw_tree   = NULL;
 +
 +
 +    retval.tree  = NULL;
 +    {
-+        // RSP.g:46:7: ( EQUAL | INCLUDES | STARTSW | ENDSW )
-+        // RSP.g:
 +        {
-+            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++            //  RSP.g:46:7: (equal= EQUAL | includes= INCLUDES | startsw= STARTSW | endsw= ENDSW )
++            
++            ANTLR3_UINT32 alt6;
 +
-+            set23=(pANTLR3_COMMON_TOKEN)LT(1);
-+            if ( ((LA(1) >= EQUAL) && (LA(1) <= ENDSW)) )
-+            {
-+                CONSUME();
-+                ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set23)));
-+                PERRORRECOVERY=ANTLR3_FALSE;
-+            }
-+            else 
++            alt6=4;
++
++            switch ( LA(1) ) 
 +            {
++            case EQUAL:
++              {
++                      alt6=1;
++              }
++                break;
++            case INCLUDES:
++              {
++                      alt6=2;
++              }
++                break;
++            case STARTSW:
++              {
++                      alt6=3;
++              }
++                break;
++            case ENDSW:
++              {
++                      alt6=4;
++              }
++                break;
++
++            default:
 +                CONSTRUCTEX();
-+                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
-+                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
-+                EXCEPTION->expectingSet = &FOLLOW_set_in_strop0;
-+                RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_strop0);    goto rulestropEx;
++                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
++                EXCEPTION->message      = (void *)"";
++                EXCEPTION->decisionNum  = 6;
++                EXCEPTION->state        = 0;
++
++
++                goto rulestropEx;
 +            }
 +
++            switch (alt6) 
++            {
++              case 1:
++                  // RSP.g:46:9: equal= EQUAL
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
 +
-+        }
++                      equal = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL, &FOLLOW_EQUAL_in_strop188); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto rulestropEx;
++                      }
++
++                      equal_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, equal));
++                      ADAPTOR->addChild(ADAPTOR, root_0, equal_tree);
++
++
++                  }
++                  break;
++              case 2:
++                  // RSP.g:47:4: includes= INCLUDES
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      includes = (pANTLR3_COMMON_TOKEN) MATCHT(INCLUDES, &FOLLOW_INCLUDES_in_strop195); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto rulestropEx;
++                      }
++
++                      includes_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, includes));
++                      ADAPTOR->addChild(ADAPTOR, root_0, includes_tree);
++
++
++                  }
++                  break;
++              case 3:
++                  // RSP.g:48:4: startsw= STARTSW
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      startsw = (pANTLR3_COMMON_TOKEN) MATCHT(STARTSW, &FOLLOW_STARTSW_in_strop202); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto rulestropEx;
++                      }
++
++                      startsw_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, startsw));
++                      ADAPTOR->addChild(ADAPTOR, root_0, startsw_tree);
++
++
++                  }
++                  break;
++              case 4:
++                  // RSP.g:49:4: endsw= ENDSW
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      endsw = (pANTLR3_COMMON_TOKEN) MATCHT(ENDSW, &FOLLOW_ENDSW_in_strop209); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto rulestropEx;
++                      }
++
++                      endsw_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, endsw));
++                      ADAPTOR->addChild(ADAPTOR, root_0, endsw_tree);
 +
++
++                  }
++                  break;
++
++            }
++        }
 +    }
 +    
 +
@@ -13460,24 +13598,24 @@ index 0000000..c0f3e2a
 +
 +    pANTLR3_BASE_TREE root_0;
 +
-+    pANTLR3_COMMON_TOKEN    FIELD24;
-+    pANTLR3_COMMON_TOKEN    INT26;
-+    pANTLR3_COMMON_TOKEN    FIELD27;
-+    pANTLR3_COMMON_TOKEN    NOT28;
-+    pANTLR3_COMMON_TOKEN    INT30;
-+    RSPParser_intop_return intop25;
-+    #undef    RETURN_TYPE_intop25
-+    #define   RETURN_TYPE_intop25 RSPParser_intop_return
-+
-+    RSPParser_intop_return intop29;
-+    #undef    RETURN_TYPE_intop29
-+    #define   RETURN_TYPE_intop29 RSPParser_intop_return
-+
-+    pANTLR3_BASE_TREE FIELD24_tree;
-+    pANTLR3_BASE_TREE INT26_tree;
-+    pANTLR3_BASE_TREE FIELD27_tree;
-+    pANTLR3_BASE_TREE NOT28_tree;
-+    pANTLR3_BASE_TREE INT30_tree;
++    pANTLR3_COMMON_TOKEN    FIELD23;
++    pANTLR3_COMMON_TOKEN    INT25;
++    pANTLR3_COMMON_TOKEN    FIELD26;
++    pANTLR3_COMMON_TOKEN    NOT27;
++    pANTLR3_COMMON_TOKEN    INT29;
++    RSPParser_intop_return intop24;
++    #undef    RETURN_TYPE_intop24
++    #define   RETURN_TYPE_intop24 RSPParser_intop_return
++
++    RSPParser_intop_return intop28;
++    #undef    RETURN_TYPE_intop28
++    #define   RETURN_TYPE_intop28 RSPParser_intop_return
++
++    pANTLR3_BASE_TREE FIELD23_tree;
++    pANTLR3_BASE_TREE INT25_tree;
++    pANTLR3_BASE_TREE FIELD26_tree;
++    pANTLR3_BASE_TREE NOT27_tree;
++    pANTLR3_BASE_TREE INT29_tree;
 +    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_FIELD;
 +    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_INT;
 +    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_NOT;
@@ -13488,22 +13626,22 @@ index 0000000..c0f3e2a
 +
 +    root_0 = NULL;
 +
-+    FIELD24       = NULL;
-+    INT26       = NULL;
-+    FIELD27       = NULL;
-+    NOT28       = NULL;
-+    INT30       = NULL;
-+    intop25.tree = NULL;
++    FIELD23       = NULL;
++    INT25       = NULL;
++    FIELD26       = NULL;
++    NOT27       = NULL;
++    INT29       = NULL;
++    intop24.tree = NULL;
 +
-+    intop29.tree = NULL;
++    intop28.tree = NULL;
 +
 +    retval.start = LT(1); retval.stop = retval.start;
 +
-+    FIELD24_tree   = NULL;
-+    INT26_tree   = NULL;
-+    FIELD27_tree   = NULL;
-+    NOT28_tree   = NULL;
-+    INT30_tree   = NULL;
++    FIELD23_tree   = NULL;
++    INT25_tree   = NULL;
++    FIELD26_tree   = NULL;
++    NOT27_tree   = NULL;
++    INT29_tree   = NULL;
 +
 +    stream_FIELD   = NULL;
 +    #define CREATE_stream_FIELD  if (stream_FIELD == NULL) {stream_FIELD = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token FIELD"); } 
@@ -13519,9 +13657,9 @@ index 0000000..c0f3e2a
 +        {
 +            //  RSP.g:52:9: ( FIELD intop INT -> ^( intop FIELD INT ) | FIELD NOT intop INT -> ^( NOT ^( intop FIELD INT ) ) )
 +            
-+            ANTLR3_UINT32 alt6;
++            ANTLR3_UINT32 alt7;
 +
-+            alt6=2;
++            alt7=2;
 +
 +            switch ( LA(1) ) 
 +            {
@@ -13531,7 +13669,7 @@ index 0000000..c0f3e2a
 +                      {
 +                      case NOT:
 +                              {
-+                                      alt6=2;
++                                      alt7=2;
 +                              }
 +                          break;
 +                      case EQUAL:
@@ -13540,7 +13678,7 @@ index 0000000..c0f3e2a
 +                      case LTE:
 +                      case GTE:
 +                              {
-+                                      alt6=1;
++                                      alt7=1;
 +                              }
 +                          break;
 +
@@ -13548,7 +13686,7 @@ index 0000000..c0f3e2a
 +                          CONSTRUCTEX();
 +                          EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
 +                          EXCEPTION->message      = (void *)"";
-+                          EXCEPTION->decisionNum  = 6;
++                          EXCEPTION->decisionNum  = 7;
 +                          EXCEPTION->state        = 1;
 +
 +
@@ -13562,28 +13700,28 @@ index 0000000..c0f3e2a
 +                CONSTRUCTEX();
 +                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
 +                EXCEPTION->message      = (void *)"";
-+                EXCEPTION->decisionNum  = 6;
++                EXCEPTION->decisionNum  = 7;
 +                EXCEPTION->state        = 0;
 +
 +
 +                goto ruleintcritEx;
 +            }
 +
-+            switch (alt6
++            switch (alt7
 +            {
 +              case 1:
 +                  // RSP.g:52:11: FIELD intop INT
 +                  {
-+                      FIELD24 = (pANTLR3_COMMON_TOKEN) MATCHT(FIELD, &FOLLOW_FIELD_in_intcrit211); 
++                      FIELD23 = (pANTLR3_COMMON_TOKEN) MATCHT(FIELD, &FOLLOW_FIELD_in_intcrit219); 
 +                      if  (HASEXCEPTION())
 +                      {
 +                          goto ruleintcritEx;
 +                      }
 +                       
-+                      CREATE_stream_FIELD; stream_FIELD->add(stream_FIELD, FIELD24, NULL);
++                      CREATE_stream_FIELD; stream_FIELD->add(stream_FIELD, FIELD23, NULL);
 +
-+                      FOLLOWPUSH(FOLLOW_intop_in_intcrit213);
-+                      intop25=intop(ctx);
++                      FOLLOWPUSH(FOLLOW_intop_in_intcrit221);
++                      intop24=intop(ctx);
 +
 +                      FOLLOWPOP();
 +                      if  (HASEXCEPTION())
@@ -13591,19 +13729,19 @@ index 0000000..c0f3e2a
 +                          goto ruleintcritEx;
 +                      }
 +
-+                      CREATE_stream_intop; stream_intop->add(stream_intop, intop25.tree, NULL);
-+                      INT26 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_intcrit215); 
++                      CREATE_stream_intop; stream_intop->add(stream_intop, intop24.tree, NULL);
++                      INT25 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_intcrit223); 
 +                      if  (HASEXCEPTION())
 +                      {
 +                          goto ruleintcritEx;
 +                      }
 +                       
-+                      CREATE_stream_INT; stream_INT->add(stream_INT, INT26, NULL);
++                      CREATE_stream_INT; stream_INT->add(stream_INT, INT25, NULL);
 +
 +
 +                       
 +                      /* AST REWRITE
-+                       * elements          : intop, INT, FIELD
++                       * elements          : FIELD, INT, intop
 +                       * token labels      : 
 +                       * rule labels       : retval
 +                       * token list labels : 
@@ -13641,24 +13779,24 @@ index 0000000..c0f3e2a
 +              case 2:
 +                  // RSP.g:53:4: FIELD NOT intop INT
 +                  {
-+                      FIELD27 = (pANTLR3_COMMON_TOKEN) MATCHT(FIELD, &FOLLOW_FIELD_in_intcrit232); 
++                      FIELD26 = (pANTLR3_COMMON_TOKEN) MATCHT(FIELD, &FOLLOW_FIELD_in_intcrit240); 
 +                      if  (HASEXCEPTION())
 +                      {
 +                          goto ruleintcritEx;
 +                      }
 +                       
-+                      CREATE_stream_FIELD; stream_FIELD->add(stream_FIELD, FIELD27, NULL);
++                      CREATE_stream_FIELD; stream_FIELD->add(stream_FIELD, FIELD26, NULL);
 +
-+                      NOT28 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT, &FOLLOW_NOT_in_intcrit234); 
++                      NOT27 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT, &FOLLOW_NOT_in_intcrit242); 
 +                      if  (HASEXCEPTION())
 +                      {
 +                          goto ruleintcritEx;
 +                      }
 +                       
-+                      CREATE_stream_NOT; stream_NOT->add(stream_NOT, NOT28, NULL);
++                      CREATE_stream_NOT; stream_NOT->add(stream_NOT, NOT27, NULL);
 +
-+                      FOLLOWPUSH(FOLLOW_intop_in_intcrit236);
-+                      intop29=intop(ctx);
++                      FOLLOWPUSH(FOLLOW_intop_in_intcrit244);
++                      intop28=intop(ctx);
 +
 +                      FOLLOWPOP();
 +                      if  (HASEXCEPTION())
@@ -13666,19 +13804,19 @@ index 0000000..c0f3e2a
 +                          goto ruleintcritEx;
 +                      }
 +
-+                      CREATE_stream_intop; stream_intop->add(stream_intop, intop29.tree, NULL);
-+                      INT30 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_intcrit238); 
++                      CREATE_stream_intop; stream_intop->add(stream_intop, intop28.tree, NULL);
++                      INT29 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_intcrit246); 
 +                      if  (HASEXCEPTION())
 +                      {
 +                          goto ruleintcritEx;
 +                      }
 +                       
-+                      CREATE_stream_INT; stream_INT->add(stream_INT, INT30, NULL);
++                      CREATE_stream_INT; stream_INT->add(stream_INT, INT29, NULL);
 +
 +
 +                       
 +                      /* AST REWRITE
-+                       * elements          : INT, FIELD, intop, NOT
++                       * elements          : intop, NOT, INT, FIELD
 +                       * token labels      : 
 +                       * rule labels       : retval
 +                       * token list labels : 
@@ -13755,7 +13893,7 @@ index 0000000..c0f3e2a
 +
 +/** 
 + * $ANTLR start intop
-+ * RSP.g:56:1: intop : ( EQUAL | LESS | GREATER | LTE | GTE );
++ * RSP.g:56:1: intop : (equal= EQUAL | less= LESS | greater= GREATER | lte= LTE | gte= GTE );
 + */
 +static RSPParser_intop_return
 +intop(pRSPParser ctx)
@@ -13764,9 +13902,17 @@ index 0000000..c0f3e2a
 +
 +    pANTLR3_BASE_TREE root_0;
 +
-+    pANTLR3_COMMON_TOKEN    set31;
++    pANTLR3_COMMON_TOKEN    equal;
++    pANTLR3_COMMON_TOKEN    less;
++    pANTLR3_COMMON_TOKEN    greater;
++    pANTLR3_COMMON_TOKEN    lte;
++    pANTLR3_COMMON_TOKEN    gte;
 +
-+    pANTLR3_BASE_TREE set31_tree;
++    pANTLR3_BASE_TREE equal_tree;
++    pANTLR3_BASE_TREE less_tree;
++    pANTLR3_BASE_TREE greater_tree;
++    pANTLR3_BASE_TREE lte_tree;
++    pANTLR3_BASE_TREE gte_tree;
 +
 +    /* Initialize rule variables
 +     */
@@ -13774,38 +13920,158 @@ index 0000000..c0f3e2a
 +
 +    root_0 = NULL;
 +
-+    set31       = NULL;
++    equal       = NULL;
++    less       = NULL;
++    greater       = NULL;
++    lte       = NULL;
++    gte       = NULL;
 +    retval.start = LT(1); retval.stop = retval.start;
 +
-+    set31_tree   = NULL;
++    equal_tree   = NULL;
++    less_tree   = NULL;
++    greater_tree   = NULL;
++    lte_tree   = NULL;
++    gte_tree   = NULL;
 +
 +
 +    retval.tree  = NULL;
 +    {
-+        // RSP.g:56:7: ( EQUAL | LESS | GREATER | LTE | GTE )
-+        // RSP.g:
 +        {
-+            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++            //  RSP.g:56:7: (equal= EQUAL | less= LESS | greater= GREATER | lte= LTE | gte= GTE )
++            
++            ANTLR3_UINT32 alt8;
 +
-+            set31=(pANTLR3_COMMON_TOKEN)LT(1);
-+            if ( LA(1) == EQUAL || ((LA(1) >= LESS) && (LA(1) <= GTE)) )
-+            {
-+                CONSUME();
-+                ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set31)));
-+                PERRORRECOVERY=ANTLR3_FALSE;
-+            }
-+            else 
++            alt8=5;
++
++            switch ( LA(1) ) 
 +            {
++            case EQUAL:
++              {
++                      alt8=1;
++              }
++                break;
++            case LESS:
++              {
++                      alt8=2;
++              }
++                break;
++            case GREATER:
++              {
++                      alt8=3;
++              }
++                break;
++            case LTE:
++              {
++                      alt8=4;
++              }
++                break;
++            case GTE:
++              {
++                      alt8=5;
++              }
++                break;
++
++            default:
 +                CONSTRUCTEX();
-+                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
-+                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
-+                EXCEPTION->expectingSet = &FOLLOW_set_in_intop0;
-+                RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_intop0);    goto ruleintopEx;
++                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
++                EXCEPTION->message      = (void *)"";
++                EXCEPTION->decisionNum  = 8;
++                EXCEPTION->state        = 0;
++
++
++                goto ruleintopEx;
 +            }
 +
++            switch (alt8) 
++            {
++              case 1:
++                  // RSP.g:56:9: equal= EQUAL
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
 +
-+        }
++                      equal = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL, &FOLLOW_EQUAL_in_intop273); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruleintopEx;
++                      }
++
++                      equal_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, equal));
++                      ADAPTOR->addChild(ADAPTOR, root_0, equal_tree);
++
++
++                  }
++                  break;
++              case 2:
++                  // RSP.g:57:4: less= LESS
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      less = (pANTLR3_COMMON_TOKEN) MATCHT(LESS, &FOLLOW_LESS_in_intop280); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruleintopEx;
++                      }
++
++                      less_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, less));
++                      ADAPTOR->addChild(ADAPTOR, root_0, less_tree);
++
++
++                  }
++                  break;
++              case 3:
++                  // RSP.g:58:4: greater= GREATER
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      greater = (pANTLR3_COMMON_TOKEN) MATCHT(GREATER, &FOLLOW_GREATER_in_intop287); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruleintopEx;
++                      }
++
++                      greater_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, greater));
++                      ADAPTOR->addChild(ADAPTOR, root_0, greater_tree);
++
++
++                  }
++                  break;
++              case 4:
++                  // RSP.g:59:4: lte= LTE
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      lte = (pANTLR3_COMMON_TOKEN) MATCHT(LTE, &FOLLOW_LTE_in_intop294); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruleintopEx;
++                      }
++
++                      lte_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, lte));
++                      ADAPTOR->addChild(ADAPTOR, root_0, lte_tree);
++
++
++                  }
++                  break;
++              case 5:
++                  // RSP.g:60:4: gte= GTE
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      gte = (pANTLR3_COMMON_TOKEN) MATCHT(GTE, &FOLLOW_GTE_in_intop301); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruleintopEx;
++                      }
++
++                      gte_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, gte));
++                      ADAPTOR->addChild(ADAPTOR, root_0, gte_tree);
 +
++
++                  }
++                  break;
++
++            }
++        }
 +    }
 +    
 +
@@ -13842,16 +14108,16 @@ index 0000000..c0f3e2a
 +
 +    pANTLR3_BASE_TREE root_0;
 +
-+    pANTLR3_COMMON_TOKEN    FIELD32;
-+    RSPParser_dateop_return dateop33;
-+    #undef    RETURN_TYPE_dateop33
-+    #define   RETURN_TYPE_dateop33 RSPParser_dateop_return
++    pANTLR3_COMMON_TOKEN    FIELD30;
++    RSPParser_dateop_return dateop31;
++    #undef    RETURN_TYPE_dateop31
++    #define   RETURN_TYPE_dateop31 RSPParser_dateop_return
 +
-+    RSPParser_datespec_return datespec34;
-+    #undef    RETURN_TYPE_datespec34
-+    #define   RETURN_TYPE_datespec34 RSPParser_datespec_return
++    RSPParser_datespec_return datespec32;
++    #undef    RETURN_TYPE_datespec32
++    #define   RETURN_TYPE_datespec32 RSPParser_datespec_return
 +
-+    pANTLR3_BASE_TREE FIELD32_tree;
++    pANTLR3_BASE_TREE FIELD30_tree;
 +    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_FIELD;
 +    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_datespec;
 +    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_dateop;
@@ -13861,14 +14127,14 @@ index 0000000..c0f3e2a
 +
 +    root_0 = NULL;
 +
-+    FIELD32       = NULL;
-+    dateop33.tree = NULL;
++    FIELD30       = NULL;
++    dateop31.tree = NULL;
 +
-+    datespec34.tree = NULL;
++    datespec32.tree = NULL;
 +
 +    retval.start = LT(1); retval.stop = retval.start;
 +
-+    FIELD32_tree   = NULL;
++    FIELD30_tree   = NULL;
 +
 +    stream_FIELD   = NULL;
 +    #define CREATE_stream_FIELD  if (stream_FIELD == NULL) {stream_FIELD = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token FIELD"); } 
@@ -13882,16 +14148,16 @@ index 0000000..c0f3e2a
 +        // RSP.g:63:9: ( FIELD dateop datespec -> ^( dateop FIELD datespec ) )
 +        // RSP.g:63:11: FIELD dateop datespec
 +        {
-+            FIELD32 = (pANTLR3_COMMON_TOKEN) MATCHT(FIELD, &FOLLOW_FIELD_in_datecrit292); 
++            FIELD30 = (pANTLR3_COMMON_TOKEN) MATCHT(FIELD, &FOLLOW_FIELD_in_datecrit310); 
 +            if  (HASEXCEPTION())
 +            {
 +                goto ruledatecritEx;
 +            }
 +             
-+            CREATE_stream_FIELD; stream_FIELD->add(stream_FIELD, FIELD32, NULL);
++            CREATE_stream_FIELD; stream_FIELD->add(stream_FIELD, FIELD30, NULL);
 +
-+            FOLLOWPUSH(FOLLOW_dateop_in_datecrit294);
-+            dateop33=dateop(ctx);
++            FOLLOWPUSH(FOLLOW_dateop_in_datecrit312);
++            dateop31=dateop(ctx);
 +
 +            FOLLOWPOP();
 +            if  (HASEXCEPTION())
@@ -13899,9 +14165,9 @@ index 0000000..c0f3e2a
 +                goto ruledatecritEx;
 +            }
 +
-+            CREATE_stream_dateop; stream_dateop->add(stream_dateop, dateop33.tree, NULL);
-+            FOLLOWPUSH(FOLLOW_datespec_in_datecrit296);
-+            datespec34=datespec(ctx);
++            CREATE_stream_dateop; stream_dateop->add(stream_dateop, dateop31.tree, NULL);
++            FOLLOWPUSH(FOLLOW_datespec_in_datecrit314);
++            datespec32=datespec(ctx);
 +
 +            FOLLOWPOP();
 +            if  (HASEXCEPTION())
@@ -13909,11 +14175,11 @@ index 0000000..c0f3e2a
 +                goto ruledatecritEx;
 +            }
 +
-+            CREATE_stream_datespec; stream_datespec->add(stream_datespec, datespec34.tree, NULL);
++            CREATE_stream_datespec; stream_datespec->add(stream_datespec, datespec32.tree, NULL);
 +
 +             
 +            /* AST REWRITE
-+             * elements          : datespec, FIELD, dateop
++             * elements          : FIELD, dateop, datespec
 +             * token labels      : 
 +             * rule labels       : retval
 +             * token list labels : 
@@ -13978,7 +14244,7 @@ index 0000000..c0f3e2a
 +
 +/** 
 + * $ANTLR start dateop
-+ * RSP.g:66:1: dateop : ( BEFORE | AFTER );
++ * RSP.g:66:1: dateop : (before= BEFORE | after= AFTER );
 + */
 +static RSPParser_dateop_return
 +dateop(pRSPParser ctx)
@@ -13987,9 +14253,11 @@ index 0000000..c0f3e2a
 +
 +    pANTLR3_BASE_TREE root_0;
 +
-+    pANTLR3_COMMON_TOKEN    set35;
++    pANTLR3_COMMON_TOKEN    before;
++    pANTLR3_COMMON_TOKEN    after;
 +
-+    pANTLR3_BASE_TREE set35_tree;
++    pANTLR3_BASE_TREE before_tree;
++    pANTLR3_BASE_TREE after_tree;
 +
 +    /* Initialize rule variables
 +     */
@@ -13997,38 +14265,86 @@ index 0000000..c0f3e2a
 +
 +    root_0 = NULL;
 +
-+    set35       = NULL;
++    before       = NULL;
++    after       = NULL;
 +    retval.start = LT(1); retval.stop = retval.start;
 +
-+    set35_tree   = NULL;
++    before_tree   = NULL;
++    after_tree   = NULL;
 +
 +
 +    retval.tree  = NULL;
 +    {
-+        // RSP.g:66:8: ( BEFORE | AFTER )
-+        // RSP.g:
 +        {
-+            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++            //  RSP.g:66:8: (before= BEFORE | after= AFTER )
++            
++            ANTLR3_UINT32 alt9;
 +
-+            set35=(pANTLR3_COMMON_TOKEN)LT(1);
-+            if ( ((LA(1) >= BEFORE) && (LA(1) <= AFTER)) )
-+            {
-+                CONSUME();
-+                ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set35)));
-+                PERRORRECOVERY=ANTLR3_FALSE;
-+            }
-+            else 
++            alt9=2;
++
++            switch ( LA(1) ) 
 +            {
++            case BEFORE:
++              {
++                      alt9=1;
++              }
++                break;
++            case AFTER:
++              {
++                      alt9=2;
++              }
++                break;
++
++            default:
 +                CONSTRUCTEX();
-+                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
-+                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
-+                EXCEPTION->expectingSet = &FOLLOW_set_in_dateop0;
-+                RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_dateop0);    goto ruledateopEx;
++                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
++                EXCEPTION->message      = (void *)"";
++                EXCEPTION->decisionNum  = 9;
++                EXCEPTION->state        = 0;
++
++
++                goto ruledateopEx;
 +            }
 +
++            switch (alt9) 
++            {
++              case 1:
++                  // RSP.g:66:10: before= BEFORE
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
 +
-+        }
++                      before = (pANTLR3_COMMON_TOKEN) MATCHT(BEFORE, &FOLLOW_BEFORE_in_dateop337); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruledateopEx;
++                      }
++
++                      before_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, before));
++                      ADAPTOR->addChild(ADAPTOR, root_0, before_tree);
++
++
++                  }
++                  break;
++              case 2:
++                  // RSP.g:67:4: after= AFTER
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      after = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER, &FOLLOW_AFTER_in_dateop344); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruledateopEx;
++                      }
++
++                      after_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, after));
++                      ADAPTOR->addChild(ADAPTOR, root_0, after_tree);
++
++
++                  }
++                  break;
 +
++            }
++        }
 +    }
 +    
 +
@@ -14065,24 +14381,24 @@ index 0000000..c0f3e2a
 +
 +    pANTLR3_BASE_TREE root_0;
 +
-+    pANTLR3_COMMON_TOKEN    INT37;
-+    RSPParser_dateref_return dateref36;
-+    #undef    RETURN_TYPE_dateref36
-+    #define   RETURN_TYPE_dateref36 RSPParser_dateref_return
++    pANTLR3_COMMON_TOKEN    INT34;
++    RSPParser_dateref_return dateref33;
++    #undef    RETURN_TYPE_dateref33
++    #define   RETURN_TYPE_dateref33 RSPParser_dateref_return
 +
-+    RSPParser_dateintval_return dateintval38;
-+    #undef    RETURN_TYPE_dateintval38
-+    #define   RETURN_TYPE_dateintval38 RSPParser_dateintval_return
++    RSPParser_dateintval_return dateintval35;
++    #undef    RETURN_TYPE_dateintval35
++    #define   RETURN_TYPE_dateintval35 RSPParser_dateintval_return
 +
-+    RSPParser_dateop_return dateop39;
-+    #undef    RETURN_TYPE_dateop39
-+    #define   RETURN_TYPE_dateop39 RSPParser_dateop_return
++    RSPParser_dateop_return dateop36;
++    #undef    RETURN_TYPE_dateop36
++    #define   RETURN_TYPE_dateop36 RSPParser_dateop_return
 +
-+    RSPParser_dateref_return dateref40;
-+    #undef    RETURN_TYPE_dateref40
-+    #define   RETURN_TYPE_dateref40 RSPParser_dateref_return
++    RSPParser_dateref_return dateref37;
++    #undef    RETURN_TYPE_dateref37
++    #define   RETURN_TYPE_dateref37 RSPParser_dateref_return
 +
-+    pANTLR3_BASE_TREE INT37_tree;
++    pANTLR3_BASE_TREE INT34_tree;
 +    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_INT;
 +    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_dateintval;
 +    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_dateref;
@@ -14093,18 +14409,18 @@ index 0000000..c0f3e2a
 +
 +    root_0 = NULL;
 +
-+    INT37       = NULL;
-+    dateref36.tree = NULL;
++    INT34       = NULL;
++    dateref33.tree = NULL;
 +
-+    dateintval38.tree = NULL;
++    dateintval35.tree = NULL;
 +
-+    dateop39.tree = NULL;
++    dateop36.tree = NULL;
 +
-+    dateref40.tree = NULL;
++    dateref37.tree = NULL;
 +
 +    retval.start = LT(1); retval.stop = retval.start;
 +
-+    INT37_tree   = NULL;
++    INT34_tree   = NULL;
 +
 +    stream_INT   = NULL;
 +    #define CREATE_stream_INT  if (stream_INT == NULL) {stream_INT = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token INT"); } 
@@ -14120,21 +14436,21 @@ index 0000000..c0f3e2a
 +        {
 +            //  RSP.g:70:9: ( dateref | INT dateintval dateop dateref -> ^( dateop dateref INT dateintval ) )
 +            
-+            ANTLR3_UINT32 alt7;
++            ANTLR3_UINT32 alt10;
 +
-+            alt7=2;
++            alt10=2;
 +
 +            switch ( LA(1) ) 
 +            {
 +            case DATE:
 +            case TODAY:
 +              {
-+                      alt7=1;
++                      alt10=1;
 +              }
 +                break;
 +            case INT:
 +              {
-+                      alt7=2;
++                      alt10=2;
 +              }
 +                break;
 +
@@ -14142,22 +14458,22 @@ index 0000000..c0f3e2a
 +                CONSTRUCTEX();
 +                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
 +                EXCEPTION->message      = (void *)"";
-+                EXCEPTION->decisionNum  = 7;
++                EXCEPTION->decisionNum  = 10;
 +                EXCEPTION->state        = 0;
 +
 +
 +                goto ruledatespecEx;
 +            }
 +
-+            switch (alt7
++            switch (alt10
 +            {
 +              case 1:
 +                  // RSP.g:70:11: dateref
 +                  {
 +                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
 +
-+                      FOLLOWPUSH(FOLLOW_dateref_in_datespec331);
-+                      dateref36=dateref(ctx);
++                      FOLLOWPUSH(FOLLOW_dateref_in_datespec353);
++                      dateref33=dateref(ctx);
 +
 +                      FOLLOWPOP();
 +                      if  (HASEXCEPTION())
@@ -14165,23 +14481,23 @@ index 0000000..c0f3e2a
 +                          goto ruledatespecEx;
 +                      }
 +
-+                      ADAPTOR->addChild(ADAPTOR, root_0, dateref36.tree);
++                      ADAPTOR->addChild(ADAPTOR, root_0, dateref33.tree);
 +
 +                  }
 +                  break;
 +              case 2:
 +                  // RSP.g:71:4: INT dateintval dateop dateref
 +                  {
-+                      INT37 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_datespec336); 
++                      INT34 = (pANTLR3_COMMON_TOKEN) MATCHT(INT, &FOLLOW_INT_in_datespec358); 
 +                      if  (HASEXCEPTION())
 +                      {
 +                          goto ruledatespecEx;
 +                      }
 +                       
-+                      CREATE_stream_INT; stream_INT->add(stream_INT, INT37, NULL);
++                      CREATE_stream_INT; stream_INT->add(stream_INT, INT34, NULL);
 +
-+                      FOLLOWPUSH(FOLLOW_dateintval_in_datespec338);
-+                      dateintval38=dateintval(ctx);
++                      FOLLOWPUSH(FOLLOW_dateintval_in_datespec360);
++                      dateintval35=dateintval(ctx);
 +
 +                      FOLLOWPOP();
 +                      if  (HASEXCEPTION())
@@ -14189,9 +14505,9 @@ index 0000000..c0f3e2a
 +                          goto ruledatespecEx;
 +                      }
 +
-+                      CREATE_stream_dateintval; stream_dateintval->add(stream_dateintval, dateintval38.tree, NULL);
-+                      FOLLOWPUSH(FOLLOW_dateop_in_datespec340);
-+                      dateop39=dateop(ctx);
++                      CREATE_stream_dateintval; stream_dateintval->add(stream_dateintval, dateintval35.tree, NULL);
++                      FOLLOWPUSH(FOLLOW_dateop_in_datespec362);
++                      dateop36=dateop(ctx);
 +
 +                      FOLLOWPOP();
 +                      if  (HASEXCEPTION())
@@ -14199,9 +14515,9 @@ index 0000000..c0f3e2a
 +                          goto ruledatespecEx;
 +                      }
 +
-+                      CREATE_stream_dateop; stream_dateop->add(stream_dateop, dateop39.tree, NULL);
-+                      FOLLOWPUSH(FOLLOW_dateref_in_datespec342);
-+                      dateref40=dateref(ctx);
++                      CREATE_stream_dateop; stream_dateop->add(stream_dateop, dateop36.tree, NULL);
++                      FOLLOWPUSH(FOLLOW_dateref_in_datespec364);
++                      dateref37=dateref(ctx);
 +
 +                      FOLLOWPOP();
 +                      if  (HASEXCEPTION())
@@ -14209,11 +14525,11 @@ index 0000000..c0f3e2a
 +                          goto ruledatespecEx;
 +                      }
 +
-+                      CREATE_stream_dateref; stream_dateref->add(stream_dateref, dateref40.tree, NULL);
++                      CREATE_stream_dateref; stream_dateref->add(stream_dateref, dateref37.tree, NULL);
 +
 +                       
 +                      /* AST REWRITE
-+                       * elements          : INT, dateintval, dateop, dateref
++                       * elements          : dateop, INT, dateintval, dateref
 +                       * token labels      : 
 +                       * rule labels       : retval
 +                       * token list labels : 
@@ -14283,7 +14599,7 @@ index 0000000..c0f3e2a
 +
 +/** 
 + * $ANTLR start dateref
-+ * RSP.g:74:1: dateref : ( DATE | TODAY );
++ * RSP.g:74:1: dateref : (date= DATE | today= TODAY );
 + */
 +static RSPParser_dateref_return
 +dateref(pRSPParser ctx)
@@ -14292,9 +14608,11 @@ index 0000000..c0f3e2a
 +
 +    pANTLR3_BASE_TREE root_0;
 +
-+    pANTLR3_COMMON_TOKEN    set41;
++    pANTLR3_COMMON_TOKEN    date;
++    pANTLR3_COMMON_TOKEN    today;
 +
-+    pANTLR3_BASE_TREE set41_tree;
++    pANTLR3_BASE_TREE date_tree;
++    pANTLR3_BASE_TREE today_tree;
 +
 +    /* Initialize rule variables
 +     */
@@ -14302,38 +14620,86 @@ index 0000000..c0f3e2a
 +
 +    root_0 = NULL;
 +
-+    set41       = NULL;
++    date       = NULL;
++    today       = NULL;
 +    retval.start = LT(1); retval.stop = retval.start;
 +
-+    set41_tree   = NULL;
++    date_tree   = NULL;
++    today_tree   = NULL;
 +
 +
 +    retval.tree  = NULL;
 +    {
-+        // RSP.g:74:9: ( DATE | TODAY )
-+        // RSP.g:
 +        {
-+            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++            //  RSP.g:74:9: (date= DATE | today= TODAY )
++            
++            ANTLR3_UINT32 alt11;
 +
-+            set41=(pANTLR3_COMMON_TOKEN)LT(1);
-+            if ( ((LA(1) >= DATE) && (LA(1) <= TODAY)) )
-+            {
-+                CONSUME();
-+                ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set41)));
-+                PERRORRECOVERY=ANTLR3_FALSE;
-+            }
-+            else 
++            alt11=2;
++
++            switch ( LA(1) ) 
 +            {
++            case DATE:
++              {
++                      alt11=1;
++              }
++                break;
++            case TODAY:
++              {
++                      alt11=2;
++              }
++                break;
++
++            default:
 +                CONSTRUCTEX();
-+                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
-+                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
-+                EXCEPTION->expectingSet = &FOLLOW_set_in_dateref0;
-+                RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_dateref0);    goto ruledaterefEx;
++                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
++                EXCEPTION->message      = (void *)"";
++                EXCEPTION->decisionNum  = 11;
++                EXCEPTION->state        = 0;
++
++
++                goto ruledaterefEx;
 +            }
 +
++            switch (alt11) 
++            {
++              case 1:
++                  // RSP.g:74:11: date= DATE
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
 +
-+        }
++                      date = (pANTLR3_COMMON_TOKEN) MATCHT(DATE, &FOLLOW_DATE_in_dateref388); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruledaterefEx;
++                      }
++
++                      date_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, date));
++                      ADAPTOR->addChild(ADAPTOR, root_0, date_tree);
++
++
++                  }
++                  break;
++              case 2:
++                  // RSP.g:75:4: today= TODAY
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
 +
++                      today = (pANTLR3_COMMON_TOKEN) MATCHT(TODAY, &FOLLOW_TODAY_in_dateref395); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruledaterefEx;
++                      }
++
++                      today_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, today));
++                      ADAPTOR->addChild(ADAPTOR, root_0, today_tree);
++
++
++                  }
++                  break;
++
++            }
++        }
 +    }
 +    
 +
@@ -14361,7 +14727,7 @@ index 0000000..c0f3e2a
 +
 +/** 
 + * $ANTLR start dateintval
-+ * RSP.g:78:1: dateintval : ( DAY | WEEK | MONTH | YEAR );
++ * RSP.g:78:1: dateintval : (day= DAY | week= WEEK | month= MONTH | year= YEAR );
 + */
 +static RSPParser_dateintval_return
 +dateintval(pRSPParser ctx)
@@ -14370,9 +14736,15 @@ index 0000000..c0f3e2a
 +
 +    pANTLR3_BASE_TREE root_0;
 +
-+    pANTLR3_COMMON_TOKEN    set42;
++    pANTLR3_COMMON_TOKEN    day;
++    pANTLR3_COMMON_TOKEN    week;
++    pANTLR3_COMMON_TOKEN    month;
++    pANTLR3_COMMON_TOKEN    year;
 +
-+    pANTLR3_BASE_TREE set42_tree;
++    pANTLR3_BASE_TREE day_tree;
++    pANTLR3_BASE_TREE week_tree;
++    pANTLR3_BASE_TREE month_tree;
++    pANTLR3_BASE_TREE year_tree;
 +
 +    /* Initialize rule variables
 +     */
@@ -14380,38 +14752,134 @@ index 0000000..c0f3e2a
 +
 +    root_0 = NULL;
 +
-+    set42       = NULL;
++    day       = NULL;
++    week       = NULL;
++    month       = NULL;
++    year       = NULL;
 +    retval.start = LT(1); retval.stop = retval.start;
 +
-+    set42_tree   = NULL;
++    day_tree   = NULL;
++    week_tree   = NULL;
++    month_tree   = NULL;
++    year_tree   = NULL;
 +
 +
 +    retval.tree  = NULL;
 +    {
-+        // RSP.g:79:2: ( DAY | WEEK | MONTH | YEAR )
-+        // RSP.g:
 +        {
-+            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++            //  RSP.g:79:2: (day= DAY | week= WEEK | month= MONTH | year= YEAR )
++            
++            ANTLR3_UINT32 alt12;
 +
-+            set42=(pANTLR3_COMMON_TOKEN)LT(1);
-+            if ( ((LA(1) >= DAY) && (LA(1) <= YEAR)) )
-+            {
-+                CONSUME();
-+                ADAPTOR->addChild(ADAPTOR, root_0, (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set42)));
-+                PERRORRECOVERY=ANTLR3_FALSE;
-+            }
-+            else 
++            alt12=4;
++
++            switch ( LA(1) ) 
 +            {
++            case DAY:
++              {
++                      alt12=1;
++              }
++                break;
++            case WEEK:
++              {
++                      alt12=2;
++              }
++                break;
++            case MONTH:
++              {
++                      alt12=3;
++              }
++                break;
++            case YEAR:
++              {
++                      alt12=4;
++              }
++                break;
++
++            default:
 +                CONSTRUCTEX();
-+                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
-+                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
-+                EXCEPTION->expectingSet = &FOLLOW_set_in_dateintval0;
-+                RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_dateintval0);    goto ruledateintvalEx;
++                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
++                EXCEPTION->message      = (void *)"";
++                EXCEPTION->decisionNum  = 12;
++                EXCEPTION->state        = 0;
++
++
++                goto ruledateintvalEx;
 +            }
 +
++            switch (alt12) 
++            {
++              case 1:
++                  // RSP.g:79:4: day= DAY
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      day = (pANTLR3_COMMON_TOKEN) MATCHT(DAY, &FOLLOW_DAY_in_dateintval408); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruledateintvalEx;
++                      }
++
++                      day_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, day));
++                      ADAPTOR->addChild(ADAPTOR, root_0, day_tree);
 +
-+        }
 +
++                  }
++                  break;
++              case 2:
++                  // RSP.g:80:4: week= WEEK
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      week = (pANTLR3_COMMON_TOKEN) MATCHT(WEEK, &FOLLOW_WEEK_in_dateintval415); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruledateintvalEx;
++                      }
++
++                      week_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, week));
++                      ADAPTOR->addChild(ADAPTOR, root_0, week_tree);
++
++
++                  }
++                  break;
++              case 3:
++                  // RSP.g:81:4: month= MONTH
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      month = (pANTLR3_COMMON_TOKEN) MATCHT(MONTH, &FOLLOW_MONTH_in_dateintval422); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruledateintvalEx;
++                      }
++
++                      month_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, month));
++                      ADAPTOR->addChild(ADAPTOR, root_0, month_tree);
++
++
++                  }
++                  break;
++              case 4:
++                  // RSP.g:82:4: year= YEAR
++                  {
++                      root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
++
++                      year = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR, &FOLLOW_YEAR_in_dateintval429); 
++                      if  (HASEXCEPTION())
++                      {
++                          goto ruledateintvalEx;
++                      }
++
++                      year_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, year));
++                      ADAPTOR->addChild(ADAPTOR, root_0, year_tree);
++
++
++                  }
++                  break;
++
++            }
++        }
 +    }
 +    
 +
@@ -14457,7 +14925,7 @@ index 0000000..c0f3e2a
 + */
 diff --git a/src/pregen/RSPParser.h b/src/pregen/RSPParser.h
 new file mode 100644
-index 0000000..4b3bbfe
+index 0000000..1796c0a
 --- /dev/null
 +++ b/src/pregen/RSPParser.h
 @@ -0,0 +1,365 @@
@@ -14465,7 +14933,7 @@ index 0000000..4b3bbfe
 + *  This C header file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : RSP.g
-+ *     -                            On : 2015-06-27 19:05:18
++ *     -                            On : 2016-01-01 12:23:42
 + *     -                for the parser : RSPParserParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -14841,7 +15309,7 @@ index 0000000..2a66bf3
 \ No newline at end of file
 diff --git a/src/pregen/SMARTPL2SQL.c b/src/pregen/SMARTPL2SQL.c
 new file mode 100644
-index 0000000..c435f37
+index 0000000..bd93752
 --- /dev/null
 +++ b/src/pregen/SMARTPL2SQL.c
 @@ -0,0 +1,1649 @@
@@ -14849,7 +15317,7 @@ index 0000000..c435f37
 + *  This C source file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : SMARTPL2SQL.g
-+ *     -                            On : 2015-06-27 19:05:21
++ *     -                            On : 2016-01-01 12:23:44
 + *     -           for the tree parser : SMARTPL2SQLTreeParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -16008,7 +16476,7 @@ index 0000000..c435f37
 +                                                      }
 +                                                      else if (strcmp((char *)val, "url") == 0)
 +                                                      {
-+                                                              sprintf(str, "f.data_kind = %d", DATA_KIND_URL);
++                                                              sprintf(str, "f.data_kind = %d", DATA_KIND_HTTP);
 +                                                      }
 +                                                      else if (strcmp((char *)val, "spotify") == 0)
 +                                                      {
@@ -16496,7 +16964,7 @@ index 0000000..c435f37
 + */
 diff --git a/src/pregen/SMARTPL2SQL.h b/src/pregen/SMARTPL2SQL.h
 new file mode 100644
-index 0000000..322e8fd
+index 0000000..8e06de7
 --- /dev/null
 +++ b/src/pregen/SMARTPL2SQL.h
 @@ -0,0 +1,220 @@
@@ -16504,7 +16972,7 @@ index 0000000..322e8fd
 + *  This C header file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : SMARTPL2SQL.g
-+ *     -                            On : 2015-06-27 19:05:21
++ *     -                            On : 2016-01-01 12:23:44
 + *     -           for the tree parser : SMARTPL2SQLTreeParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -16734,7 +17202,7 @@ index 0000000..85567d1
 \ No newline at end of file
 diff --git a/src/pregen/SMARTPLLexer.c b/src/pregen/SMARTPLLexer.c
 new file mode 100644
-index 0000000..9ea1a83
+index 0000000..91d6e99
 --- /dev/null
 +++ b/src/pregen/SMARTPLLexer.c
 @@ -0,0 +1,4168 @@
@@ -16742,7 +17210,7 @@ index 0000000..9ea1a83
 + *  This C source file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : SMARTPL.g
-+ *     -                            On : 2015-06-27 19:05:15
++ *     -                            On : 2016-01-01 12:23:40
 + *     -                 for the lexer : SMARTPLLexerLexer *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -20908,7 +21376,7 @@ index 0000000..9ea1a83
 + */
 diff --git a/src/pregen/SMARTPLLexer.h b/src/pregen/SMARTPLLexer.h
 new file mode 100644
-index 0000000..9d73721
+index 0000000..87e8c7e
 --- /dev/null
 +++ b/src/pregen/SMARTPLLexer.h
 @@ -0,0 +1,248 @@
@@ -20916,7 +21384,7 @@ index 0000000..9d73721
 + *  This C header file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : SMARTPL.g
-+ *     -                            On : 2015-06-27 19:05:15
++ *     -                            On : 2016-01-01 12:23:40
 + *     -                 for the lexer : SMARTPLLexerLexer *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -21162,7 +21630,7 @@ index 0000000..9d73721
 +/* END - Note:Keep extra line feed to satisfy UNIX systems */
 diff --git a/src/pregen/SMARTPLParser.c b/src/pregen/SMARTPLParser.c
 new file mode 100644
-index 0000000..afe9f99
+index 0000000..f39e5ae
 --- /dev/null
 +++ b/src/pregen/SMARTPLParser.c
 @@ -0,0 +1,1812 @@
@@ -21170,7 +21638,7 @@ index 0000000..afe9f99
 + *  This C source file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : SMARTPL.g
-+ *     -                            On : 2015-06-27 19:05:15
++ *     -                            On : 2016-01-01 12:23:40
 + *     -                for the parser : SMARTPLParserParser *
 + * Editing it, at least manually, is not wise. 
 + *
@@ -22980,7 +23448,7 @@ index 0000000..afe9f99
 + */
 diff --git a/src/pregen/SMARTPLParser.h b/src/pregen/SMARTPLParser.h
 new file mode 100644
-index 0000000..5360136
+index 0000000..38ef500
 --- /dev/null
 +++ b/src/pregen/SMARTPLParser.h
 @@ -0,0 +1,285 @@
@@ -22988,7 +23456,7 @@ index 0000000..5360136
 + *  This C header file was generated by $ANTLR version 3.2 debian-7ubuntu3
 + *
 + *     -  From the grammar source file : SMARTPL.g
-+ *     -                            On : 2015-06-27 19:05:15
++ *     -                            On : 2016-01-01 12:23:40
 + *     -                for the parser : SMARTPLParserParser *
 + * Editing it, at least manually, is not wise. 
 + *
index 0b3bda3006b51a205507475da96df22016175b4a..8495ed2579297924c5cef018a65f20160f388171 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mpg123
 PKG_VERSION:=1.22.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.mpg123.de/download/
@@ -51,6 +51,7 @@ define Build/Configure
                --enable-shared \
                --enable-static \
                --with-cpu=generic_nofpu \
+               --with-audio=alsa \
                --with-default-audio=alsa \
        )
 endef
diff --git a/utils/evtest/Makefile b/utils/evtest/Makefile
new file mode 100644 (file)
index 0000000..7990b30
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# 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:=evtest
+PKG_REV:=ab140a2dab1547f7deb5233be6d94a388cf08b26
+PKG_VERSION:=1.33
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=git://anongit.freedesktop.org/evtest
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=$(PKG_REV)
+
+PKG_MAINTAINER:=Pushpal Sidhu (psidhu@gateworks.com)
+PKG_LICENSE:=GPL-2.0
+PKG_LICENSE_FILES:=COPYING
+
+PKG_FIXUP:=autoreconf
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/autotools.mk
+
+define Package/evtest
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=Event Test Program
+endef
+
+define Package/evtest/description
+  Utility to test event driven devices such as keyboards and mice
+endef
+
+define Package/evtest/install
+       $(INSTALL_DIR) $(1)/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/evtest $(1)/sbin/
+endef
+
+$(eval $(call BuildPackage,evtest))
index c96fbc3a621d4c34eb65aa0d97397c1a2c7147fc..65209bb986312883c6f33563a05026952d85ef6e 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnupg
-PKG_VERSION:=1.4.19
+PKG_VERSION:=1.4.20
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/gnupg \
        ftp://ftp.gnupg.org/gcrypt/gnupg
-PKG_MD5SUM:=3af4ab5b3113b3e28d3551ecf9600785
+PKG_MD5SUM:=b7af897a041c03c8ad1c7c466b54d10d
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
@@ -24,7 +24,7 @@ PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/gnupg
+define Package/gnupg/Default
   SECTION:=utils
   CATEGORY:=Utilities
   DEPENDS:=+zlib +libncurses +libreadline
@@ -32,6 +32,17 @@ define Package/gnupg
   URL:=http://www.gnupg.org/
 endef
 
+define Package/gnupg
+  $(call Package/gnupg/Default)
+  MENU:=1
+endef
+
+define Package/gnupg-utils
+  $(call Package/gnupg/Default)
+  DEPENDS:=gnupg
+  TITLE:=Key management utilities for GnuPG
+endef
+
 define Package/gnupg/description
  GnuPG is GNU's tool for secure communication and data storage.
  It can be used to encrypt data and to create digital signatures.
@@ -42,6 +53,11 @@ define Package/gnupg/description
  with PGP2 because it uses IDEA (which is patented worldwide).
 endef
 
+define Package/gnupg-utils/description
+ Key management utilies for GnuPG.
+ This package is needed to import keys from a keyserver.
+endef
+
 CONFIGURE_ARGS += \
        --disable-rpath \
        --disable-asm \
@@ -49,9 +65,7 @@ CONFIGURE_ARGS += \
        --disable-card-support \
        --disable-agent-support \
        --disable-bzip2 \
-       --disable-exec \
        --disable-ldap \
-       --disable-hkp \
        --disable-finger \
        --disable-ftp \
        --disable-dns-srv \
@@ -66,4 +80,13 @@ define Package/gnupg/install
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gpg $(1)/usr/bin/
 endef
 
+define Package/gnupg-utils/install
+       $(INSTALL_DIR) $(1)/usr/lib/gnupg
+       for file in gpgkeys_curl gpgkeys_hkp; do \
+               $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gnupg/$$$$file \
+                 $(1)/usr/lib/gnupg/; \
+       done
+endef
+
 $(eval $(call BuildPackage,gnupg))
+$(eval $(call BuildPackage,gnupg-utils))
index ffed673b027ca0ea1a93695cd3f827b4a813e95b..5a18d1ad9b99d63d2ff76ad149a3ccde3f710dc9 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2015 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -59,7 +59,7 @@ define Package/sane-backends/config
       depends on PACKAGE_sane-backends
       prompt "Include all SANE backends (sane-backends-all)"
 
-    comment "Modules"
+    comment "Backends"
 
 $(foreach backend,$(SANE_BACKENDS), \
     $(eval \
@@ -115,7 +115,7 @@ $(call Package/sane-backends/Default)
   HIDDEN:=1
 endef
 
-define Package/sane-backends/description
+define Package/sane-backends-all/description
 $(call Package/sane-backends/Default/description)
 .
 Metapackage for selecting all SANE Backends