if [[ "$ICU_DOC" == 'y' ]]; then
SOURCE2=$SPELLX-${VERSIONX}-docs.zip
diff --git a/libs/icu/HISTORY b/libs/icu/HISTORY
index 78515d3..f7c104d 100644
--- a/libs/icu/HISTORY
+++ b/libs/icu/HISTORY
@@ -3,6 +3,10 @@
* icu.gpg: replaced old key(s) with D1BA20D7,
Fredrik Roubert <fredrik AT roubert.name>
+2018-03-24 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: stable version 60.2
+ * collation.patch, xlocale.patch, PRE_BUILD: removed
+
2018-01-08 Thomas Orgis <sobukus AT sourcemage.org>
* DETAILS: You see a signature file for the non-dev version?
I don't. Restored the SOURCE_HASH for version 58.2 .
diff --git a/libs/icu/PRE_BUILD b/libs/icu/PRE_BUILD
deleted file mode 100755
index 2721df2..0000000
--- a/libs/icu/PRE_BUILD
+++ /dev/null
@@ -1,6 +0,0 @@
-default_pre_build &&
-if [[ "$ICU_DEV" == 'n' ]]; then
-cd "${SOURCE_DIRECTORY}" &&
-patch -p3 < "$SPELL_DIRECTORY/collation.patch" &&
-patch -p0 < "$SPELL_DIRECTORY/xlocale.patch"
-fi
diff --git a/libs/icu/collation.patch b/libs/icu/collation.patch
deleted file mode 100644
index d2316eb..0000000
--- a/libs/icu/collation.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-Index: /icu/trunk/source/common/ulist.c
-===================================================================
---- /icu/trunk/source/common/ulist.c (revision 39483)
-+++ /icu/trunk/source/common/ulist.c (revision 39484)
-@@ -30,5 +30,4 @@
-
- int32_t size;
-- int32_t currentIndex;
- };
-
-@@ -52,5 +51,4 @@
- newList->tail = NULL;
- newList->size = 0;
-- newList->currentIndex = -1;
-
- return newList;
-@@ -81,6 +79,7 @@
- p->next->previous = p->previous;
- }
-- list->curr = NULL;
-- list->currentIndex = 0;
-+ if (p == list->curr) {
-+ list->curr = p->next;
-+ }
- --list->size;
- if (p->forceDelete) {
-@@ -151,5 +150,4 @@
- list->head->previous = newItem;
- list->head = newItem;
-- list->currentIndex++;
- }
-
-@@ -194,5 +192,4 @@
- curr = list->curr;
- list->curr = curr->next;
-- list->currentIndex++;
-
- return curr->data;
-@@ -210,5 +207,4 @@
- if (list != NULL) {
- list->curr = list->head;
-- list->currentIndex = 0;
- }
- }
-@@ -273,3 +269,2 @@
- return (UList *)(en->context);
- }
--
-Index: /icu/trunk/source/i18n/ucol_res.cpp
-===================================================================
---- /icu/trunk/source/i18n/ucol_res.cpp (revision 39483)
-+++ /icu/trunk/source/i18n/ucol_res.cpp (revision 39484)
-@@ -681,4 +681,5 @@
- }
- memcpy(en, &defaultKeywordValues, sizeof(UEnumeration));
-+ ulist_resetList(sink.values); // Initialize the iterator.
- en->context = sink.values;
- sink.values = NULL; // Avoid deletion in the sink destructor.
-Index: /icu/trunk/source/test/intltest/apicoll.cpp
-===================================================================
---- /icu/trunk/source/test/intltest/apicoll.cpp (revision 39483)
-+++ /icu/trunk/source/test/intltest/apicoll.cpp (revision 39484)
-@@ -82,14 +82,7 @@
- col = Collator::createInstance(Locale::getEnglish(), success);
- if (U_FAILURE(success)){
-- errcheckln(success, "Default Collator creation failed. - %s",
u_errorName(success));
-- return;
-- }
--
-- StringEnumeration* kwEnum = col->getKeywordValuesForLocale("",
Locale::getEnglish(),true,success);
-- if (U_FAILURE(success)){
-- errcheckln(success, "Get Keyword Values for Locale failed. - %s",
u_errorName(success));
-- return;
-- }
-- delete kwEnum;
-+ errcheckln(success, "English Collator creation failed. - %s",
u_errorName(success));
-+ return;
-+ }
-
- col->getVersion(versionArray);
-@@ -230,4 +223,27 @@
- delete aFrCol;
- delete junk;
-+}
-+
-+void CollationAPITest::TestKeywordValues() {
-+ IcuTestErrorCode errorCode(*this, "TestKeywordValues");
-+ LocalPointer<Collator>
col(Collator::createInstance(Locale::getEnglish(), errorCode));
-+ if (errorCode.logIfFailureAndReset("English Collator creation failed"))
{
-+ return;
-+ }
-+
-+ LocalPointer<StringEnumeration> kwEnum(
-+ col->getKeywordValuesForLocale("collation", Locale::getEnglish(),
TRUE, errorCode));
-+ if (errorCode.logIfFailureAndReset("Get Keyword Values for English
Collator failed")) {
-+ return;
-+ }
-+ assertTrue("expect at least one collation tailoring for English",
kwEnum->count(errorCode) > 0);
-+ const char *kw;
-+ UBool hasStandard = FALSE;
-+ while ((kw = kwEnum->next(NULL, errorCode)) != NULL) {
-+ if (strcmp(kw, "standard") == 0) {
-+ hasStandard = TRUE;
-+ }
-+ }
-+ assertTrue("expect at least the 'standard' collation tailoring for
English", hasStandard);
- }
-
-@@ -2467,4 +2483,5 @@
- TESTCASE_AUTO_BEGIN;
- TESTCASE_AUTO(TestProperty);
-+ TESTCASE_AUTO(TestKeywordValues);
- TESTCASE_AUTO(TestOperators);
- TESTCASE_AUTO(TestDuplicate);
-Index: /icu/trunk/source/test/intltest/apicoll.h
-===================================================================
---- /icu/trunk/source/test/intltest/apicoll.h (revision 39483)
-+++ /icu/trunk/source/test/intltest/apicoll.h (revision 39484)
-@@ -36,4 +36,5 @@
- */
- void TestProperty(/* char* par */);
-+ void TestKeywordValues();
-
- /**
diff --git a/libs/icu/xlocale.patch b/libs/icu/xlocale.patch
deleted file mode 100644
index add0d76..0000000
--- a/libs/icu/xlocale.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From c4254fd8ff1888ca285e3242b812010357ce2b3e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem AT gmail.com>
-Date: Sat, 24 Jun 2017 22:52:40 -0700
-Subject: [PATCH] i18n: Drop include <xlocale.h>
-
-glibc 2.26 drops this header
-
-Signed-off-by: Khem Raj <raj.khem AT gmail.com>
----
-Upstream-Status: Pending
-
- i18n/digitlst.cpp | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-Index: source/i18n/digitlst.cpp
-===================================================================
---- source.orig/i18n/digitlst.cpp
-+++ source/i18n/digitlst.cpp
-@@ -61,11 +61,7 @@
- #endif
-
- #if U_USE_STRTOD_L
--# if U_PLATFORM_USES_ONLY_WIN32_API || U_PLATFORM == U_PF_CYGWIN
--# include <locale.h>
--# else
--# include <xlocale.h>
--# endif
-+# include <locale.h>
- #endif
-
- //
***************************************************************************
diff --git a/libs/json-for-modern-cpp/BUILD b/libs/json-for-modern-cpp/BUILD
new file mode 100755
index 0000000..a51a55a
--- /dev/null
+++ b/libs/json-for-modern-cpp/BUILD
@@ -0,0 +1,2 @@
+OPTS="-DJSON_MultipleHeaders=on $OPTS" &&
+cmake_build
diff --git a/libs/json-for-modern-cpp/DETAILS
b/libs/json-for-modern-cpp/DETAILS
new file mode 100755
index 0000000..9aa31d0
--- /dev/null
+++ b/libs/json-for-modern-cpp/DETAILS
@@ -0,0 +1,31 @@
+ SPELL=json-for-modern-cpp
+ VERSION=3.1.2
+ SOURCE="nlohmann-json-${VERSION}.tar.gz"
+ SOURCE_URL[0]=https://github.com/nlohmann/json/archive/v${VERSION}.tar.gz
+
SOURCE_HASH=sha512:d0a8b968c8fb8cb8f5350f9f3ba78ee26c4b699264f6a52270baaf5c25c0021df1f02b4b0ac99b6e6d46943a92aead613a51f5ebd2155e4f12b74852bbcfd8ef
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/json-${VERSION}"
+ WEB_SITE="https://github.com/nlohmann/json"
+ LICENSE[0]=MIT
+ ENTERED=20180330
+ SHORT="a json library for modern C++"
+cat << EOF
+There are myriads of JSON libraries out there, and each may even have its
+reason to exist. Our class had these design goals:
+
+ * Intuitive syntax. In languages such as Python, JSON feels like a first
+ class data type. We used all the operator magic of modern C++ to achieve
+ the same feeling in your code. Check out the examples below and you'll
+ know what I mean.
+
+ * Trivial integration. Our whole code consists of a single header file
+ json.hpp. That's it. No library, no subproject, no dependencies, no
complex
+ build system. The class is written in vanilla C++11. All in all,
everything
+ should require no adjustment of your compiler flags or project settings.
+
+ * Serious testing. Our class is heavily unit-tested and covers 100% of the
+ code, including all exceptional behavior. Furthermore, we checked with
+ Valgrind and the Clang Sanitizers that there are no memory leaks. Google
+ OSS-Fuzz additionally runs fuzz tests agains all parsers 24/7,
effectively
+ executing billions of tests so far. To maintain high quality, the project
+ is following the Core Infrastructure Initiative (CII) best practices.
+EOF
diff --git a/libs/json-for-modern-cpp/HISTORY
b/libs/json-for-modern-cpp/HISTORY
new file mode 100644
index 0000000..dfe9ae4
--- /dev/null
+++ b/libs/json-for-modern-cpp/HISTORY
@@ -0,0 +1,3 @@
+2018-03-30 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * BUILD, DETAILS: spell created
+
diff --git a/libs/libusb/DETAILS b/libs/libusb/DETAILS
index e80d9aae..d3718e3 100755
--- a/libs/libusb/DETAILS
+++ b/libs/libusb/DETAILS
@@ -1,6 +1,6 @@
SPELL=libusb
- VERSION=1.0.21
-
SOURCE_HASH=sha512:29899c573f7aa444058d1755e60ccc818903ae7436710a9f3f3db04f1d456634c55f8b90cb325b443f70dfe84271194be8f4535440b885c5bdfffe8c1e8b46f2
+ VERSION=1.0.22
+
SOURCE_HASH=sha512:b1fed66aafa82490889ee488832c6884a95d38ce7b28fb7c3234b9bce1f749455d7b91cde397a0abc25101410edb13ab2f9832c59aa7b0ea8c19ba2cf4c63b00
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
SOURCE_URL[0]=https://github.com/libusb/libusb/archive/v${VERSION}.tar.gz
diff --git a/libs/libusb/HISTORY b/libs/libusb/HISTORY
index 04b1d66..7a294fb 100644
--- a/libs/libusb/HISTORY
+++ b/libs/libusb/HISTORY
@@ -1,3 +1,6 @@
+2018-03-26 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: version 1.0.22
+
2017-05-23 Treeve Jelbert <treeve AT sourcemage.org>
* UP_TRIGGERS: do not force cast of libusb-compat
diff --git a/net/crda/BUILD b/net/crda/BUILD
new file mode 100755
index 0000000..d0fd00d
--- /dev/null
+++ b/net/crda/BUILD
@@ -0,0 +1,9 @@
+PREFIX="${INSTALL_ROOT}/usr" \
+SBINDIR='$(PREFIX)/sbin/' \
+LIBDIR='$(PREFIX)/'"/usr/lib" \
+UDEV_RULE_DIR="${INSTALL_ROOT}/etc/udev/rules.d" \
+REG_BIN="${INSTALL_ROOT}"/usr/lib/crda/regulatory.bin \
+V=1 \
+WERROR= \
+default_build_make
+
diff --git a/net/crda/DEPENDS b/net/crda/DEPENDS
new file mode 100755
index 0000000..9a358cf
--- /dev/null
+++ b/net/crda/DEPENDS
@@ -0,0 +1,5 @@
+depends python &&
+depends m2crypto &&
+depends wireless-regdb &&
+depends SSL &&
+depends libnl
diff --git a/net/crda/DETAILS b/net/crda/DETAILS
new file mode 100755
index 0000000..235d4d3
--- /dev/null
+++ b/net/crda/DETAILS
@@ -0,0 +1,15 @@
+ SPELL=crda
+ VERSION=3.18
+ SOURCE="${SPELL}-${VERSION}.tar.xz"
+ SOURCE_URL[0]=http://kernel.org/pub/software/network/${SPELL}/${SOURCE}
+
SOURCE_HASH=sha512:57ae6309159f396448f052c127f401c2f63d47f4193e87dca231c4b7bbbd7e69b5e5666f356fc76dfc8a6ae58ffa55c3794428d6eb34d9937df77c4276036588
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ WEB_SITE="http://drvbp1.linux-foundation.org/~mcgrof/rel-html/crda/"
+ LICENSE[0]=copyleft-next 0.3.0
+ ENTERED=20180328
+ SHORT="a udev helper for communication between the kernel and
userspace for regulatory compliance"
+cat << EOF
+CRDA acts as the udev helper for communication between the kernel and
userspace
+for regulatory compliance. It relies on nl80211 for communication. CRDA is
+intended to be run only through udev communication from the kernel.
+EOF
diff --git a/net/crda/HISTORY b/net/crda/HISTORY
new file mode 100644
index 0000000..4617990
--- /dev/null
+++ b/net/crda/HISTORY
@@ -0,0 +1,4 @@
+2018-03-28 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DEPENDS, DETAILS, patches/*, BUILD, PRE_BUILD: spell created
+ * patches/*: patches adapted from gentoo to make crda compile
+
diff --git a/net/crda/PRE_BUILD b/net/crda/PRE_BUILD
new file mode 100755
index 0000000..0a365b5
--- /dev/null
+++ b/net/crda/PRE_BUILD
@@ -0,0 +1,9 @@
+default_pre_build &&
+
+cd "$SOURCE_DIRECTORY" &&
+patch -p1 < "${SPELL_DIRECTORY}"/patches/${SPELL}-3.18-no-ldconfig.patch &&
+patch -p1 < "${SPELL_DIRECTORY}"/patches/${SPELL}-3.18-no-werror.patch &&
+patch -p1 < "${SPELL_DIRECTORY}"/patches/${SPELL}-3.18-openssl.patch &&
+patch -p1 < "${SPELL_DIRECTORY}"/patches/${SPELL}-3.18-cflags.patch &&
+patch -p1 < "${SPELL_DIRECTORY}"/patches/${SPELL}-3.18-libreg-link.patch
+
diff --git a/net/crda/patches/crda-3.18-cflags.patch
b/net/crda/patches/crda-3.18-cflags.patch
new file mode 100644
index 0000000..a875b48
--- /dev/null
+++ b/net/crda/patches/crda-3.18-cflags.patch
@@ -0,0 +1,33 @@
+From c5b0741ea7fc12e9f6a2a309296ed412a999d0f7 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier AT chromium.org>
+Date: Wed, 4 Mar 2015 14:09:50 -0500
+Subject: [PATCH] clean up CFLAGS handling
+
+Rather than append -O2 -g all the time to the user's CFLAGS (and thus
+clobbering whatever they have set up), initialize the default value to
+that and let the user override it entirely.
+
+Signed-off-by: Mike Frysinger <vapier AT gentoo.org>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 5f988f4..8e345a1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -26,9 +26,9 @@ PUBKEY_DIR?=pubkeys
+ RUNTIME_PUBKEY_DIR?=/etc/wireless-regdb/pubkeys
+
+ WERROR = -Werror
+-CFLAGS += -O2 -fpic
++CFLAGS ?= -O2 -g
++CFLAGS += -fpic
+ CFLAGS += -std=gnu99 -Wall -Wno-error -pedantic
+-CFLAGS += -Wall -g
+ LDLIBREG += -lreg
+ LDLIBS += $(LDLIBREG)
+ LDLIBS += -lm
+--
+2.3.1
+
diff --git a/net/crda/patches/crda-3.18-libreg-link.patch
b/net/crda/patches/crda-3.18-libreg-link.patch
new file mode 100644
index 0000000..0aa1b6e
--- /dev/null
+++ b/net/crda/patches/crda-3.18-libreg-link.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/542436
+
+From f56ab87b25f2228a67ac592a1c18793c72dd03eb Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier AT gentoo.org>
+Date: Sat, 7 Mar 2015 22:29:33 -0500
+Subject: [PATCH crda] libreg: link against crypto libs
+
+Since libreg uses funcs from the crypto lib, make sure we link them.
+
+Signed-off-by: Mike Frysinger <vapier AT gentoo.org>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 8e345a1..77708e6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -117,7 +117,7 @@ keys-%.c: utils/key2pub.py $(wildcard
$(PUBKEY_DIR)/*.pem)
+
+ $(LIBREG): regdb.h reglib.h reglib.c
+ $(NQ) ' CC ' $@
+- $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^
++ $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG)
$^ $(filter-out -lreg,$(LDLIBS))
+
+ install-libreg-headers:
+ $(NQ) ' INSTALL libreg-headers'
+--
+2.3.1
+
diff --git a/net/crda/patches/crda-3.18-no-ldconfig.patch
b/net/crda/patches/crda-3.18-no-ldconfig.patch
new file mode 100644
index 0000000..a5cc420
--- /dev/null
+++ b/net/crda/patches/crda-3.18-no-ldconfig.patch
@@ -0,0 +1,28 @@
+From b11d83df189670defe4a29c624f2930351c13df2 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier AT gentoo.org>
+Date: Wed, 4 Mar 2015 13:56:36 -0500
+Subject: [PATCH] do not run ldconfig
+
+Let the distro/user deal with ldconfig updating. Running it blindly like
+this breaks DESTDIR installs as `ldconfig` only operates on system paths.
+
+Signed-off-by: Mike Frysinger <vapier AT gentoo.org>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index a3ead30..46c683d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -127,7 +127,6 @@ install-libreg:
+ $(NQ) ' INSTALL libreg'
+ $(Q)mkdir -p $(DESTDIR)/$(LIBDIR)
+ $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/
+- $(Q)ldconfig
+
+ %.o: %.c regdb.h $(LIBREG)
+ $(NQ) ' CC ' $@
+--
+2.3.1
+
diff --git a/net/crda/patches/crda-3.18-no-werror.patch
b/net/crda/patches/crda-3.18-no-werror.patch
new file mode 100644
index 0000000..d23a9c9
--- /dev/null
+++ b/net/crda/patches/crda-3.18-no-werror.patch
@@ -0,0 +1,32 @@
+From 37384d22ba0ab622a5848a9a794084e6064fc905 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier AT chromium.org>
+Date: Wed, 4 Mar 2015 14:03:44 -0500
+Subject: [PATCH] allow people to turn off -Werror
+
+Forcing -Werror at build time easily breaks across compiler settings,
+compiler versions, architectures, C libraries, etc... Add a knob so
+distro peeps can turn it off.
+
+Signed-off-by: Mike Frysinger <vapier AT gentoo.org>
+---
+ Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 46c683d..5f988f4 100644
+--- a/Makefile
++++ b/Makefile
+@@ -25,8 +25,9 @@ UDEV_RULE_DIR?=/lib/udev/rules.d/
+ PUBKEY_DIR?=pubkeys
+ RUNTIME_PUBKEY_DIR?=/etc/wireless-regdb/pubkeys
+
++WERROR = -Werror
+ CFLAGS += -O2 -fpic
+-CFLAGS += -std=gnu99 -Wall -Werror -pedantic
++CFLAGS += -std=gnu99 -Wall -Wno-error -pedantic
+ CFLAGS += -Wall -g
+ LDLIBREG += -lreg
+ LDLIBS += $(LDLIBREG)
+--
+2.3.1
+
diff --git a/net/crda/patches/crda-3.18-openssl.patch
b/net/crda/patches/crda-3.18-openssl.patch
new file mode 100644
index 0000000..9147e86
--- /dev/null
+++ b/net/crda/patches/crda-3.18-openssl.patch
@@ -0,0 +1,44 @@
+From af009b7599d705a1023d7bc95c485e5a8776d2b8 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier AT chromium.org>
+Date: Wed, 4 Mar 2015 14:07:37 -0500
+Subject: [PATCH] fix openssl generation
+
+This file uses BN_ULONG but doesn't include the openssl headers leading
+to build failures:
+keys-ssl.c:2:8: error: unknown type name 'BN_ULONG'
+ static BN_ULONG e_0[1] = {
+
+The large unqualified constants also break building:
+keys-ssl.c:8:2: warning: overflow in implicit constant conversion
[-Woverflow]
+ 0x63a2705416a0d8e1, 0xdc9fca11c8ba757b,
+ ^
+
+Signed-off-by: Mike Frysinger <vapier AT gentoo.org>
+---
+ utils/key2pub.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/utils/key2pub.py b/utils/key2pub.py
+index 3e84cd2..c504aca 100755
+--- a/utils/key2pub.py
++++ b/utils/key2pub.py
+@@ -24,7 +24,7 @@ def print_ssl_64(output, name, val):
+ for v1, v2, v3, v4, v5, v6, v7, v8 in vnew:
+ if not idx:
+ output.write('\t')
+- output.write('0x%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x, ' % (ord(v1),
ord(v2), ord(v3), ord(v4), ord(v5), ord(v6), ord(v7), ord(v8)))
++ output.write('0x%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2xULL, ' % (ord(v1),
ord(v2), ord(v3), ord(v4), ord(v5), ord(v6), ord(v7), ord(v8)))
+ idx += 1
+ if idx == 2:
+ idx = 0
+@@ -60,6 +60,7 @@ def print_ssl_32(output, name, val):
+ def print_ssl(output, name, val):
+ import struct
+ output.write('#include <stdint.h>\n')
++ output.write('#include <openssl/bn.h>\n')
+ if len(struct.pack('@L', 0)) == 8:
+ return print_ssl_64(output, name, val)
+ else:
+--
+2.3.1
+
diff --git a/net/iw/DETAILS b/net/iw/DETAILS
index 8306192..639f398 100755
--- a/net/iw/DETAILS
+++ b/net/iw/DETAILS
@@ -1,6 +1,6 @@
SPELL=iw
- VERSION=4.9
-
SOURCE_HASH=sha512:3c99d8fc07d6d85b8304ff34b96573e22af65aea688a8cb08051ce4857d7ce9ac32a5acd3b30157c6c78e942f84a18f9229c17e353b7a6d01c80324729af18b3
+ VERSION=4.14
+
SOURCE_HASH=sha512:1ce6335628641eb14ed71d39b96a9907fe36e597e6413fdce7f98f7007939bbdc3fac5af69eb1c857259706937e1a7495cf8cbd4e4ba8528c2a471ef6e4bf809
SOURCE=$SPELL-$VERSION.tar.xz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
WEB_SITE=https://linuxwireless.org/en/users/Documentation/iw
diff --git a/net/iw/HISTORY b/net/iw/HISTORY
index 98676bf..24b0181 100644
--- a/net/iw/HISTORY
+++ b/net/iw/HISTORY
@@ -1,3 +1,6 @@
+2018-03-28 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: version 4.14
+
2017-02-27 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 4.9
diff --git a/net/wireless-regdb/BUILD b/net/wireless-regdb/BUILD
new file mode 100755
index 0000000..446962d
--- /dev/null
+++ b/net/wireless-regdb/BUILD
@@ -0,0 +1 @@
+gzip -9 regulatory.bin.5
diff --git a/net/wireless-regdb/DETAILS b/net/wireless-regdb/DETAILS
new file mode 100755
index 0000000..68109a8
--- /dev/null
+++ b/net/wireless-regdb/DETAILS
@@ -0,0 +1,14 @@
+ SPELL=wireless-regdb
+ VERSION=2017-12-23
+ SOURCE="${SPELL}-${VERSION}.tar.gz"
+
SOURCE_URL[0]=https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git/snapshot/wireless-regdb-master-${VERSION}.tar.gz
+
SOURCE_HASH=sha512:b5bc3d9e0c712483e8df116e99ed3ed173cd6673082924fb5e7bbe19ace5b01c8b9d6a3f39bc24e2e611ef7ebd65c67c20c87cd0e82f104d89b9d0e2010d4589
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-master-${VERSION}"
+
WEB_SITE="https://wireless.wiki.kernel.org/en/developers/Regulatory/wireless-regdb"
+ LICENSE[0]=ISC
+ ENTERED=20180328
+ SHORT="a regulatory database for crda"
+cat << EOF
+A regulatory database for crda. It contains information about the conditions
+of use of wifi channels in different countries.
+EOF
diff --git a/net/wireless-regdb/HISTORY b/net/wireless-regdb/HISTORY
new file mode 100644
index 0000000..e27d4d2
--- /dev/null
+++ b/net/wireless-regdb/HISTORY
@@ -0,0 +1,3 @@
+2018-03-28 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: spell created
+
diff --git a/net/wireless-regdb/INSTALL b/net/wireless-regdb/INSTALL
new file mode 100755
index 0000000..4804e12
--- /dev/null
+++ b/net/wireless-regdb/INSTALL
@@ -0,0 +1,2 @@
+install -D -m644 -o root -g root "${SOURCE_DIRECTORY}/regulatory.bin"
"${INSTALL_ROOT}/usr/lib/crda/regulatory.bin" &&
+install -D -m644 -o root -g root "${SOURCE_DIRECTORY}/regulatory.bin.5.gz"
"${INSTALL_ROOT}/usr/share/man/man5/regulatory.bin.5.gz"
diff --git a/net/wpa_supplicant/DEPENDS b/net/wpa_supplicant/DEPENDS
index b3b524a..76903e2 100755
--- a/net/wpa_supplicant/DEPENDS
+++ b/net/wpa_supplicant/DEPENDS
@@ -1,5 +1,6 @@
depends -sub CXX gcc &&
depends wireless_tools &&
+depends crda &&
if [ "$CONFIG_DRIVER_NL80211" = y ]; then
depends libnl
diff --git a/net/wpa_supplicant/DETAILS b/net/wpa_supplicant/DETAILS
index 94ff70e..1322fb9 100755
--- a/net/wpa_supplicant/DETAILS
+++ b/net/wpa_supplicant/DETAILS
@@ -13,7 +13,7 @@ else
SOURCE=$SPELL-$VERSION.tar.gz