--- /dev/null
+#
+# 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))
--- /dev/null
+#
+# 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))
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>
#
-# 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.
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>
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
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
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
--- /dev/null
+#
+# 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))
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
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
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
--- /dev/null
+#
+# 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))
--- /dev/null
+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")
++ ])
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
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)
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; \
# 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"
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
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"
--- /dev/null
+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>
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/
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
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
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
--disable-glibtest \
--without-apache-httpd \
--without-gnome \
+ --enable-vala=no \
)
endef
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
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
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+
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
--- 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
--- a/src/metadata.hpp
+++ b/src/metadata.hpp
-@@ -31,7 +31,7 @@ namespace zmq
+@@ -41,7 +41,7 @@ namespace zmq
{
public:
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>
--- 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;
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()) {
--- a/src/blob.hpp
+++ b/src/blob.hpp
-@@ -21,6 +21,7 @@
+@@ -31,6 +31,7 @@
#define __ZMQ_BLOB_HPP_INCLUDED__
#include <string>
--- /dev/null
+--- 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<>
--- 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/>.
*/
#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/>.
*/
#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/>.
*/
#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>
#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/>.
*/
#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/>.
*/
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
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>
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
--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
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
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>
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
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) \
$(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
--- /dev/null
+/* 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);
+}
--- /dev/null
+/* 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
+ }
+}
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
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>
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
+++ /dev/null
---- 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
--- /dev/null
+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
--- /dev/null
+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
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>
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:= \
$(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,,))
--- /dev/null
+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
+
+++ /dev/null
---- 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 \
--- /dev/null
+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
+
+++ /dev/null
---- 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
--- /dev/null
+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 \
+++ /dev/null
---- 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
-
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>
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
$(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,,,))
--- /dev/null
+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
+++ /dev/null
---- 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 \
--- /dev/null
+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 \
+++ /dev/null
---- 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 \
--- /dev/null
+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
+++ /dev/null
---- 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
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>
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:= \
$$(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))
--- /dev/null
+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
+++ /dev/null
---- 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
--- /dev/null
+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
+++ /dev/null
---- 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
--- /dev/null
+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
+++ /dev/null
---- 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
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>
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
./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*} \
--- /dev/null
+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
+++ /dev/null
---- 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
--- /dev/null
+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 \
+++ /dev/null
---- 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
--- /dev/null
+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
+++ /dev/null
---- 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
-
--- /dev/null
+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) {
+++ /dev/null
---- 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) {
#
-# 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.
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:=\
$(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 \
#
-# 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
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:'
#!/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
}
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>
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
+++ /dev/null
-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;
--- /dev/null
+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++;
+++ /dev/null
-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;
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
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)
--- /dev/null
+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
+
# $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
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>
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
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
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)
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
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))
+++ /dev/null
-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
+++ /dev/null
-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
-
+++ /dev/null
-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
+++ /dev/null
-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 */
--- /dev/null
+--- 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)) {
+++ /dev/null
-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;
+++ /dev/null
-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
+++ /dev/null
-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);
-
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
# 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
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
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)
# 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
#
####################################################
# Authentication options
#
-config setting 'auth'
+config setting 'auth'
# Authentication method
# Value: None | htpasswd | IMAP | LDAP | PAM | courier | http | remote_user | custom
# 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
}
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() {
_set_permission
radicale --daemon --config=$SYSCFG
+ touch /tmp/radicale.hotplug
_running & # check if running and syslog
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
+++ /dev/null
-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();
- }
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
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
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,)
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)
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
define Package/forked-daapd
SECTION:=sound
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
\ 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 @@
+ * 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.
+ *
+ */
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 @@
+ * 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.
+ *
\ 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 @@
+ * 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.
+ *
+ */
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 @@
+ * 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.
+ *
+/* 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 @@
+ * 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.
+ *
+ */
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 @@
+ * 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.
+ *
\ 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 @@
+ * 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.
+ *
+ */
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 @@
+ * 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.
+ *
\ 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 @@
+ * 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.
+ *
+ */
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 @@
+ * 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.
+ *
+/* 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.
+ *
+/** 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 };
+
+
+
+
+ }
+ break;
-+ case INCLUDES:
-+ case STARTSW:
-+ case ENDSW:
-+ {
-+ alt4=2;
-+ }
-+ break;
+ case LESS:
+ case GREATER:
+ case LTE:
+ alt4=3;
+ }
+ break;
++ case INCLUDES:
++ case STARTSW:
++ case ENDSW:
++ {
++ alt4=2;
++ }
++ break;
+
+ default:
+ CONSTRUCTEX();
+
+ }
+ break;
++ case BEFORE:
++ case AFTER:
++ {
++ alt4=4;
++ }
++ break;
+ case EQUAL:
+ {
+ switch ( LA(3) )
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
+ EXCEPTION->decisionNum = 4;
-+ EXCEPTION->state = 4;
++ EXCEPTION->state = 5;
+
+
+ goto rulecritEx;
+
+ }
+ break;
-+ case BEFORE:
-+ case AFTER:
-+ {
-+ alt4=4;
-+ }
-+ break;
+ case LESS:
+ case GREATER:
+ case LTE:
+
+
+ /* AST REWRITE
-+ * elements : strop, STR, FIELD
++ * elements : FIELD, STR, strop
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+
+
+ /* AST REWRITE
-+ * elements : NOT, strop, STR, FIELD
++ * elements : STR, FIELD, strop, NOT
+ * token labels :
+ * rule labels : retval
+ * token list labels :
+
+/**
+ * $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)
+
+ 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
+ */
+
+ 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;
++
++ }
++ }
+ }
+
+
+
+ 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;
+
+ 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"); }
+ {
+ // 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) )
+ {
+ {
+ case NOT:
+ {
-+ alt6=2;
++ alt7=2;
+ }
+ break;
+ case EQUAL:
+ case LTE:
+ case GTE:
+ {
-+ alt6=1;
++ alt7=1;
+ }
+ break;
+
+ CONSTRUCTEX();
+ EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
+ EXCEPTION->message = (void *)"";
-+ EXCEPTION->decisionNum = 6;
++ EXCEPTION->decisionNum = 7;
+ EXCEPTION->state = 1;
+
+
+ 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())
+ 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 :
+ 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())
+ 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 :
+
+/**
+ * $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)
+
+ 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
+ */
+
+ 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;
++
++ }
++ }
+ }
+
+
+
+ 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;
+
+ 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"); }
+ // 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())
+ 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())
+ 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 :
+
+/**
+ * $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)
+
+ 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
+ */
+
+ 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;
+
++ }
++ }
+ }
+
+
+
+ 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;
+
+ 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"); }
+ {
+ // 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;
+
+ 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())
+ 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())
+ 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())
+ 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())
+ 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 :
+
+/**
+ * $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)
+
+ 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
+ */
+
+ 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;
++
++ }
++ }
+ }
+
+
+
+/**
+ * $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)
+
+ 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
+ */
+
+ 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;
++
++ }
++ }
+ }
+
+
+ */
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 @@
+ * 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.
+ *
\ 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 @@
+ * 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.
+ *
+ }
+ 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)
+ {
+ */
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 @@
+ * 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.
+ *
\ 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 @@
+ * 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.
+ *
+ */
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 @@
+ * 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.
+ *
+/* 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 @@
+ * 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.
+ *
+ */
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 @@
+ * 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.
+ *
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/
--enable-shared \
--enable-static \
--with-cpu=generic_nofpu \
+ --with-audio=alsa \
--with-default-audio=alsa \
)
endef
--- /dev/null
+#
+# 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))
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
include $(INCLUDE_DIR)/package.mk
-define Package/gnupg
+define Package/gnupg/Default
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=+zlib +libncurses +libreadline
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.
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 \
--disable-card-support \
--disable-agent-support \
--disable-bzip2 \
- --disable-exec \
--disable-ldap \
- --disable-hkp \
--disable-finger \
--disable-ftp \
--disable-dns-srv \
$(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))
#
-# 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.
depends on PACKAGE_sane-backends
prompt "Include all SANE backends (sane-backends-all)"
- comment "Modules"
+ comment "Backends"
$(foreach backend,$(SANE_BACKENDS), \
$(eval \
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