diff options
author | Alexandre Iooss | 2016-08-15 09:25:13 +0200 |
---|---|---|
committer | Alexandre Iooss | 2016-08-15 09:25:13 +0200 |
commit | 5e4eb6da9318a98f99c575853be3583acfc6705c (patch) | |
tree | 53aed9ff37ce3f867ba91a5b1cd49b2f0418987c | |
download | aur-5e4eb6da9318a98f99c575853be3583acfc6705c.tar.gz |
First version, libARController not working
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | 0001-arsdk_manifests-Remove-libs_and_samples.patch | 20 | ||||
-rw-r--r-- | 0002-Use-local-json-and-curl.patch | 31 | ||||
-rw-r--r-- | 0003-Fix-json-c.patch | 324 | ||||
-rw-r--r-- | 0004-libARController-Fix-uthash-path.patch | 77 | ||||
-rw-r--r-- | 0005-libARDiscovery-Fix-some-warnings.patch | 31 | ||||
-rw-r--r-- | LICENSE | 28 | ||||
-rw-r--r-- | PKGBUILD | 80 | ||||
-rw-r--r-- | local-dependencies-atom.mk | 15 |
10 files changed, 642 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..276adc7ed551 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,34 @@ +pkgbase = libarsdk3-git + pkgdesc = ARSDK3 C librairies to control Parrot devices + pkgver = r22.305521e + pkgrel = 1 + url = http://developer.parrot.com/ + arch = x86_64 + license = custom + makedepends = git + makedepends = repo + makedepends = python2-virtualenv + depends = curl + depends = json-c + depends = avahi + depends = ffmpeg + depends = uthash + source = arsdk_manifests::git+https://github.com/Parrot-Developers/arsdk_manifests + source = 0001-arsdk_manifests-Remove-libs_and_samples.patch + source = 0002-Use-local-json-and-curl.patch + source = 0003-Fix-json-c.patch + source = 0004-libARController-Fix-uthash-path.patch + source = 0005-libARDiscovery-Fix-some-warnings.patch + source = local-dependencies-atom.mk + source = LICENSE + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + +pkgname = libarsdk3-git + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..fb82a8b034d1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +arsdk_manifests/ +*.pkg.tar.xz diff --git a/0001-arsdk_manifests-Remove-libs_and_samples.patch b/0001-arsdk_manifests-Remove-libs_and_samples.patch new file mode 100644 index 000000000000..213f45b1209e --- /dev/null +++ b/0001-arsdk_manifests-Remove-libs_and_samples.patch @@ -0,0 +1,20 @@ +--- a/.repo/manifests/default.xml ++++ b/.repo/manifests/default.xml +@@ -14,9 +14,6 @@ + <!-- products --> + <project name="arsdk_products" path="products/arsdk"/> + +- <!-- External --> +- <project name="ARSDKTools" path="packages/ARSDKTools"/> +- + <!-- ARSDK --> + <project name="ARSDKBuildUtils" path="packages/ARSDKBuildUtils"/> + <project name="ARSDK3" path="packages/ARSDK3"/> +@@ -37,7 +34,4 @@ + + <project name="mavlink.git" path="packages/mavlink"/> + +- <!-- Samples --> +- <project name="Samples" path="packages/Samples"/> +- + </manifest> diff --git a/0002-Use-local-json-and-curl.patch b/0002-Use-local-json-and-curl.patch new file mode 100644 index 000000000000..a16067c4dc48 --- /dev/null +++ b/0002-Use-local-json-and-curl.patch @@ -0,0 +1,31 @@ +--- a/products/arsdk/native/config/global.config ++++ b/products/arsdk/native/config/global.config +@@ -11,8 +11,8 @@ CONFIG_ALCHEMY_BUILD_ARSDKBUILDUTILS=y + # CONFIG_ALCHEMY_BUILD_JUMPINGSUMOPILOTINGNEWAPI is not set + # CONFIG_ALCHEMY_BUILD_JUMPINGSUMORECEIVESTREAM is not set + # CONFIG_ALCHEMY_BUILD_AUTOCONF_MERGE is not set +-CONFIG_ALCHEMY_BUILD_CURL=y +-CONFIG_ALCHEMY_BUILD_JSON=y ++# CONFIG_ALCHEMY_BUILD_CURL is not set ++# CONFIG_ALCHEMY_BUILD_JSON is not set + CONFIG_ALCHEMY_BUILD_LIBARCOMMANDS=y + CONFIG_ALCHEMY_BUILD_LIBARCONTROLLER=y + CONFIG_ALCHEMY_BUILD_LIBARDATATRANSFER=y +@@ -26,5 +26,5 @@ CONFIG_ALCHEMY_BUILD_LIBARSTREAM=y + CONFIG_ALCHEMY_BUILD_LIBARSTREAM2=y + CONFIG_ALCHEMY_BUILD_LIBARUPDATER=y + CONFIG_ALCHEMY_BUILD_LIBARUTILS=y +-CONFIG_ALCHEMY_BUILD_LIBRESSL=y ++# CONFIG_ALCHEMY_BUILD_LIBRESSL is not set +-CONFIG_ALCHEMY_BUILD_UTHASH=y ++# CONFIG_ALCHEMY_BUILD_UTHASH is not set +--- a/products/arsdk/native/config/product.mk ++++ b/products/arsdk/native/config/product.mk +@@ -5,5 +5,5 @@ ARSDK_NATIVE_CONFIG_DIR := $(call my-dir) + include $(ARSDK_NATIVE_CONFIG_DIR)/../../common/config/product.mk + + # Use our own json, ncurses version +-prebuilt.json.override := 1 +-prebuilt.ncurses.override := 1 ++prebuilt.json.override := 0 ++prebuilt.ncurses.override := 0 diff --git a/0003-Fix-json-c.patch b/0003-Fix-json-c.patch new file mode 100644 index 000000000000..db5fa26801ba --- /dev/null +++ b/0003-Fix-json-c.patch @@ -0,0 +1,324 @@ +--- a/packages/libARController/Includes/libARController/ARCONTROLLER_Stream.h ++++ b/packages/libARController/Includes/libARController/ARCONTROLLER_Stream.h +@@ -38,7 +38,7 @@ + #ifndef _ARCONTROLLER_STREAM_H_ + #define _ARCONTROLLER_STREAM_H_ + +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARSAL/ARSAL_Thread.h> + #include <libARNetwork/ARNETWORK_Manager.h> + #include <libARController/ARCONTROLLER_Error.h> +--- a/packages/libARController/Includes/libARController/ARCONTROLLER_Stream1.h ++++ b/packages/libARController/Includes/libARController/ARCONTROLLER_Stream1.h +@@ -38,7 +38,7 @@ + #ifndef _ARCONTROLLER_STREAM1_H_ + #define _ARCONTROLLER_STREAM1_H_ + +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARSAL/ARSAL_Thread.h> + #include <libARNetwork/ARNETWORK_Manager.h> + #include <libARController/ARCONTROLLER_Error.h> +--- a/packages/libARController/Python/generateDeviceControllers.py ++++ b/packages/libARController/Python/generateDeviceControllers.py +@@ -836,7 +836,7 @@ def generateDeviceControllers (ctx, SRC_DIR, INC_DIR): + + cFile.write ('#include <stdio.h>\n') + cFile.write ('#include <time.h>\n') +- cFile.write ('#include <json/json.h>\n') ++ cFile.write ('#include <json-c/json.h>\n') + cFile.write ('\n') + + cFile.write ('#include <libARSAL/ARSAL_Mutex.h>\n') +--- a/packages/libARController/Sources/ARCONTROLLER_Stream.c ++++ b/packages/libARController/Sources/ARCONTROLLER_Stream.c +@@ -38,7 +38,7 @@ + + #include <stdlib.h> + +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARSAL/ARSAL_Print.h> + #include <libARSAL/ARSAL_Socket.h> + #include <libARStream/ARStream.h> +--- a/packages/libARController/Sources/ARCONTROLLER_Stream1.c ++++ b/packages/libARController/Sources/ARCONTROLLER_Stream1.c +@@ -38,7 +38,7 @@ + + #include <stdlib.h> + +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARSAL/ARSAL_Print.h> + #include <libARSAL/ARSAL_Socket.h> + #include <libARStream/ARStream.h> +--- a/packages/libARController/Sources/ARCONTROLLER_Stream2.c ++++ b/packages/libARController/Sources/ARCONTROLLER_Stream2.c +@@ -38,7 +38,7 @@ + + #include <stdlib.h> + +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARSAL/ARSAL_Print.h> + #include <libARSAL/ARSAL_Socket.h> + #include <libARSAL/ARSAL_Thread.h> +--- a/packages/libARController/Sources/ARCONTROLLER_Stream2.h ++++ b/packages/libARController/Sources/ARCONTROLLER_Stream2.h +@@ -39,7 +39,7 @@ + #ifndef _ARCONTROLLER_STREAM2_PRIVATE_H_ + #define _ARCONTROLLER_STREAM2_PRIVATE_H_ + +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARSAL/ARSAL_Socket.h> + #include <libARSAL/ARSAL_Thread.h> + #include <libARController/ARCONTROLLER_Error.h> +--- a/packages/libARDiscovery/Includes/libARDiscovery/ARDISCOVERY_Device.h ++++ b/packages/libARDiscovery/Includes/libARDiscovery/ARDISCOVERY_Device.h +@@ -38,7 +38,7 @@ + #ifndef _ARDISCOVERY_DEVICE_H_ + #define _ARDISCOVERY_DEVICE_H_ + +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARNetworkAL/ARNETWORKAL_Manager.h> + #include <libARNetworkAL/ARNETWORKAL_Error.h> + #include <libARNetwork/ARNETWORK_IOBufferParam.h> +--- a/packages/libARDiscovery/Sources/BLE/ARDISCOVERY_DEVICE_Ble.c ++++ b/packages/libARDiscovery/Sources/BLE/ARDISCOVERY_DEVICE_Ble.c +@@ -37,7 +37,7 @@ + */ + + #include <stdlib.h> +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARSAL/ARSAL_Print.h> + #include <libARNetworkAL/ARNETWORKAL_Manager.h> + #include <libARNetworkAL/ARNETWORKAL_Error.h> +--- a/packages/libARDiscovery/Sources/BLE/ARDISCOVERY_DEVICE_Ble.h ++++ b/packages/libARDiscovery/Sources/BLE/ARDISCOVERY_DEVICE_Ble.h +@@ -38,7 +38,7 @@ + #ifndef _ARDISCOVERY_DEVICE_BLE_H_ + #define _ARDISCOVERY_DEVICE_BLE_H_ + +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARNetworkAL/ARNETWORKAL_Manager.h> + #include <libARNetworkAL/ARNETWORKAL_Error.h> + #include <libARNetwork/ARNETWORK_IOBufferParam.h> +--- a/packages/libARDiscovery/Sources/Wifi/ARDISCOVERY_DEVICE_Wifi.c ++++ b/packages/libARDiscovery/Sources/Wifi/ARDISCOVERY_DEVICE_Wifi.c +@@ -37,7 +37,7 @@ + */ + + #include <stdlib.h> +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARSAL/ARSAL_Print.h> + #include <libARNetworkAL/ARNETWORKAL_Manager.h> + #include <libARNetworkAL/ARNETWORKAL_Error.h> +--- a/packages/libARDiscovery/Sources/Wifi/ARDISCOVERY_DEVICE_Wifi.h ++++ b/packages/libARDiscovery/Sources/Wifi/ARDISCOVERY_DEVICE_Wifi.h +@@ -38,7 +38,7 @@ + #ifndef _ARDISCOVERY_DEVICE_WIFI_H_ + #define _ARDISCOVERY_DEVICE_WIFI_H_ + +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARNetworkAL/ARNETWORKAL_Manager.h> + #include <libARNetworkAL/ARNETWORKAL_Error.h> + #include <libARNetwork/ARNETWORK_IOBufferParam.h> +--- a/packages/libARMedia/Sources/ARMEDIA_VideoAtoms.c ++++ b/packages/libARMedia/Sources/ARMEDIA_VideoAtoms.c +@@ -40,7 +40,7 @@ + #include <libARMedia/ARMedia.h> + #include <libARMedia/ARMEDIA_VideoEncapsuler.h> + #include <libARSAL/ARSAL_Print.h> +-#include <json/json.h> ++#include <json-c/json.h> + + #include <string.h> + #include <arpa/inet.h> +--- a/packages/libARMedia/Sources/ARMEDIA_VideoEncapsuler.c ++++ b/packages/libARMedia/Sources/ARMEDIA_VideoEncapsuler.c +@@ -45,7 +45,7 @@ + #include <stdbool.h> + #include <string.h> + #include <arpa/inet.h> +-#include <json/json.h> ++#include <json-c/json.h> + #include <libARDiscovery/ARDiscovery.h> + #include <libARMedia/ARMedia.h> + #include <libARSAL/ARSAL_Print.h> +--- a/packages/libARUpdater/Sources/ARUPDATER_Downloader.c ++++ b/packages/libARUpdater/Sources/ARUPDATER_Downloader.c +@@ -46,7 +46,7 @@ + #include "ARUPDATER_Manager.h" + #include "ARUPDATER_Downloader.h" + #include "ARUPDATER_Utils.h" +-#include <json/json.h> ++#include <json-c/json.h> + + /* *************************************** + * +--- a/packages/libARDiscovery/Sources/Wifi/ARDISCOVERY_DEVICE_Wifi.c ++++ b/packages/libARDiscovery/Sources/Wifi/ARDISCOVERY_DEVICE_Wifi.c +@@ -1189,7 +1189,7 @@ eARDISCOVERY_ERROR ARDISCOVERY_DEVICE_Wifi_ReceiveJsonCallback (uint8_t *dataRx, + if (error == ARDISCOVERY_OK) + { + // get ARDISCOVERY_CONNECTION_JSON_C2DPORT_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_C2DPORT_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_C2DPORT_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + specificWifiParam->controllerToDevicePort = json_object_get_int(valueJsonObj); +@@ -1197,7 +1197,7 @@ eARDISCOVERY_ERROR ARDISCOVERY_DEVICE_Wifi_ReceiveJsonCallback (uint8_t *dataRx, + + // get ARDISCOVERY_CONNECTION_JSON_STATUS_KEY + +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_STATUS_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_STATUS_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + specificWifiParam->connectionStatus = json_object_get_int(valueJsonObj); +--- a/packages/libARController/Sources/ARCONTROLLER_Stream1.c ++++ b/packages/libARController/Sources/ARCONTROLLER_Stream1.c +@@ -503,21 +503,21 @@ eARDISCOVERY_ERROR ARCONTROLLER_Stream1_OnReceiveJson (ARCONTROLLER_Stream1_t *s + if (error == ARDISCOVERY_OK) + { + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_SIZE_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_SIZE_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_SIZE_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + stream1Controller->fragmentSize = json_object_get_int(valueJsonObj); + } + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_MAXIMUM_NUMBER_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_MAXIMUM_NUMBER_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_MAXIMUM_NUMBER_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + stream1Controller->maxNumberOfFragment = json_object_get_int(valueJsonObj); + } + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM_MAX_ACK_INTERVAL_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_MAX_ACK_INTERVAL_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_MAX_ACK_INTERVAL_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + stream1Controller->maxAckInterval = json_object_get_int(valueJsonObj); +--- a/packages/libARController/Sources/ARCONTROLLER_Stream2.c ++++ b/packages/libARController/Sources/ARCONTROLLER_Stream2.c +@@ -345,48 +345,48 @@ eARDISCOVERY_ERROR ARCONTROLLER_Stream2_OnReceiveJson (ARCONTROLLER_Stream2_t *s + if (error == ARDISCOVERY_OK) + { + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_STREAM_PORT_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_STREAM_PORT_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_STREAM_PORT_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + stream2Controller->serverStreamPort = json_object_get_int(valueJsonObj); + } + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_CONTROL_PORT_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_CONTROL_PORT_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_CONTROL_PORT_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + stream2Controller->serverControlPort = json_object_get_int(valueJsonObj); + } + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_PACKET_SIZE_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_PACKET_SIZE_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_PACKET_SIZE_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + stream2Controller->maxPaquetSize = json_object_get_int(valueJsonObj); + } + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_LATENCY_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_LATENCY_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_LATENCY_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + stream2Controller->maxLatency = json_object_get_int(valueJsonObj); + } + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_NETWORK_LATENCY_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_NETWORK_LATENCY_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_NETWORK_LATENCY_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + stream2Controller->maxNetworkLatency = json_object_get_int(valueJsonObj); + } + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_BITRATE_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_BITRATE_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_MAX_BITRATE_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + stream2Controller->maxBiterate = json_object_get_int(valueJsonObj); + } + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_PARAMETER_SETS_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_PARAMETER_SETS_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_PARAMETER_SETS_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + int parmeterSetsLength = strlen(json_object_get_string(valueJsonObj)); +@@ -409,10 +409,12 @@ eARDISCOVERY_ERROR ARCONTROLLER_Stream2_OnReceiveJson (ARCONTROLLER_Stream2_t *s + uint8_t ARCONTROLLER_Stream2_JsonContainsStream2Param(json_object *jsonObj) + { + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_STREAM_PORT_KEY +- json_object *serverStreamPortJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_STREAM_PORT_KEY); ++ json_object *serverStreamPortJsonObj = NULL; ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_STREAM_PORT_KEY, &serverStreamPortJsonObj); + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_CONTROL_PORT_KEY +- json_object *serverControlPortJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_CONTROL_PORT_KEY); ++ json_object *serverControlPortJsonObj = NULL; ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM2_SERVER_CONTROL_PORT_KEY, &serverControlPortJsonObj); + + return ((serverStreamPortJsonObj != NULL) && (serverControlPortJsonObj != NULL)); + } +--- a/packages/libARController/Sources/ARCONTROLLER_StreamSender.c ++++ b/packages/libARController/Sources/ARCONTROLLER_StreamSender.c +@@ -324,21 +324,21 @@ eARDISCOVERY_ERROR ARCONTROLLER_StreamSender_OnReceiveJson (ARCONTROLLER_StreamS + { + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_SIZE_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_SIZE_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_SIZE_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + streamController->fragmentSize = json_object_get_int(valueJsonObj); + } + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_MAXIMUM_NUMBER_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_MAXIMUM_NUMBER_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_FRAGMENT_MAXIMUM_NUMBER_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + streamController->maxNumberOfFragment = json_object_get_int(valueJsonObj); + } + + // get ARDISCOVERY_CONNECTION_JSON_ARSTREAM_MAX_ACK_INTERVAL_KEY +- valueJsonObj = json_object_object_get (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_MAX_ACK_INTERVAL_KEY); ++ json_object_object_get_ex (jsonObj, ARDISCOVERY_CONNECTION_JSON_ARSTREAM_MAX_ACK_INTERVAL_KEY, &valueJsonObj); + if (valueJsonObj != NULL) + { + streamController->maxAckInterval = json_object_get_int(valueJsonObj); +--- a/packages/libARUpdater/Sources/ARUPDATER_Downloader.c ++++ b/packages/libARUpdater/Sources/ARUPDATER_Downloader.c +@@ -1207,7 +1207,8 @@ eARUPDATER_ERROR ARUPDATER_Downloader_GetBlacklistedFirmwareVersionsSync(ARUPDAT + device = malloc(ARUPDATER_MANAGER_DEVICE_STRING_MAX_SIZE); + snprintf(device, ARUPDATER_MANAGER_DEVICE_STRING_MAX_SIZE, "%04x", productId); + +- json_object *productJsonObj = json_object_object_get (jsonObj, device); ++ json_object *productJsonObj = NULL; ++ json_object_object_get_ex (jsonObj, device, &productJsonObj); + if ((productJsonObj != NULL) && !is_error(productJsonObj)) + { + blacklistedRemoteList = json_object_get_array(productJsonObj); diff --git a/0004-libARController-Fix-uthash-path.patch b/0004-libARController-Fix-uthash-path.patch new file mode 100644 index 000000000000..aeb006ce521a --- /dev/null +++ b/0004-libARController-Fix-uthash-path.patch @@ -0,0 +1,77 @@ +--- a/packages/libARController/Includes/libARController/ARCONTROLLER_Dictionary.h ++++ b/packages/libARController/Includes/libARController/ARCONTROLLER_Dictionary.h +@@ -39,8 +39,8 @@ + #ifndef _ARCONTROLLER_DICTIONARY_H_ + #define _ARCONTROLLER_DICTIONARY_H_ + +-#include <uthash/uthash.h> +-#include <uthash/utlist.h> ++#include <uthash.h> ++#include <utlist.h> + + #include <libARController/ARCONTROLLER_Error.h> + #include <libARController/ARCONTROLLER_DICTIONARY_Key.h> +--- a/packages/libARController/JNI/c/ARCONTROLLER_JNI_Dictionary.c ++++ b/packages/libARController/JNI/c/ARCONTROLLER_JNI_Dictionary.c +@@ -42,8 +42,8 @@ + #include <jni.h> + #include <stdlib.h> + +-#include <uthash/uthash.h> +-#include <uthash/utlist.h> ++#include <uthash.h> ++#include <utlist.h> + + #include <libARSAL/ARSAL_Print.h> + +--- a/packages/libARController/Python/generateDeviceControllers.py ++++ b/packages/libARController/Python/generateDeviceControllers.py +@@ -106,7 +106,7 @@ def generateDeviceControllers (ctx, SRC_DIR, INC_DIR): + hfile.write ('\n') + hfile.write ('#include <libARSAL/ARSAL_Print.h>\n') + hfile.write ('#include <libARSAL/ARSAL_Mutex.h>\n') +- hfile.write ('#include <uthash/uthash.h>\n') ++ hfile.write ('#include <uthash.h>\n') + hfile.write ('\n') + hfile.write ('#include <libARController/ARCONTROLLER_Error.h>\n') + hfile.write ('#include <libARController/ARCONTROLLER_Dictionary.h>\n') +--- a/packages/libARController/Python/generateFeatureControllers.py ++++ b/packages/libARController/Python/generateFeatureControllers.py +@@ -97,7 +97,7 @@ def generateFeatureControllers (ctx, SRC_DIR, INC_DIR): + hfile.write ('#include <libARSAL/ARSAL_Print.h>\n') + hfile.write ('#include <libARSAL/ARSAL_Mutex.h>\n') + hfile.write ('#include <libARCommands/ARCommands.h>\n') +- hfile.write ('#include <uthash/uthash.h>\n') ++ hfile.write ('#include <uthash.h>\n') + hfile.write ('\n') + hfile.write ('#include <libARController/ARCONTROLLER_Error.h>\n') + hfile.write ('#include <libARController/ARCONTROLLER_Network.h>\n') +--- a/packages/libARController/Sources/ARCONTROLLER_Dictionary.c ++++ b/packages/libARController/Sources/ARCONTROLLER_Dictionary.c +@@ -38,8 +38,8 @@ + + #include <stdlib.h> + +-#include <uthash/uthash.h> +-#include <uthash/utlist.h> ++#include <uthash.h> ++#include <utlist.h> + + #include <libARSAL/ARSAL_Print.h> + +--- a/packages/libARController/Sources/ARCONTROLLER_StreamQueue.c ++++ b/packages/libARController/Sources/ARCONTROLLER_StreamQueue.c +@@ -40,8 +40,8 @@ + #include <time.h> + #include <stdint.h> + +-#include <uthash/uthash.h> +-#include <uthash/utlist.h> ++#include <uthash.h> ++#include <utlist.h> + + #include <libARSAL/ARSAL_Print.h> + +-- +2.9.2 + diff --git a/0005-libARDiscovery-Fix-some-warnings.patch b/0005-libARDiscovery-Fix-some-warnings.patch new file mode 100644 index 000000000000..40516a0d0a43 --- /dev/null +++ b/0005-libARDiscovery-Fix-some-warnings.patch @@ -0,0 +1,31 @@ +--- a/packages/libARDiscovery/Sources/ARDISCOVERY_Connection.c ++++ b/packages/libARDiscovery/Sources/ARDISCOVERY_Connection.c +@@ -866,7 +866,7 @@ static eARDISCOVERY_ERROR ARDISCOVERY_Connection_RxPending (ARDISCOVERY_Connecti + else + { + if ((readSize == 0 || readSize == -1) && +- (errno == EAGAIN || errno == EWOULDBLOCK)) ++ (errno == EAGAIN)) + { + ARSAL_PRINT(ARSAL_PRINT_DEBUG, ARDISCOVERY_CONNECTION_TAG, "No more data to read"); + // Nothing to do here, it just means that we had a size which is a multiple of ARDISCOVERY_CONNECTION_RX_BUFFER_SIZE +@@ -902,7 +902,7 @@ static eARDISCOVERY_ERROR ARDISCOVERY_Connection_RxPending (ARDISCOVERY_Connecti + else + { + if ((readSize == 0 || readSize == -1) && +- (errno == EAGAIN || errno == EWOULDBLOCK)) ++ (errno == EAGAIN)) + { + ARSAL_PRINT(ARSAL_PRINT_DEBUG, ARDISCOVERY_CONNECTION_TAG, "No more data to read"); + // Nothing to do here, it just means that we had a size which is a multiple of ARDISCOVERY_CONNECTION_RX_BUFFER_SIZE +--- a/packages/libARDiscovery/Sources/ARDISCOVERY_Connection.h ++++ b/packages/libARDiscovery/Sources/ARDISCOVERY_Connection.h +@@ -40,7 +40,7 @@ + typedef struct ARDISCOVERY_Connection_ComData_t + { + uint8_t *buffer; /**< data buffer */ +- int32_t size; /**< size of the data */ ++ uint32_t size; /**< size of the data */ + int32_t capacity; /**< size allocated of the data buffer */ + } ARDISCOVERY_Connection_ComData_t; + diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000000..2b9256f4825e --- /dev/null +++ b/LICENSE @@ -0,0 +1,28 @@ +Copyright (C) 2014 Parrot SA + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +* Neither the name of Parrot nor the names + of its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..7f06c7cd9bf4 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,80 @@ +# Maintainer: Alexandre Iooss <alexandre.iooss@gmail.com> + +# Everything works except libARController because of uthash +# The Parrot's uthash seems to be patched a lot, if you know what to do, please help + +pkgname=libarsdk3-git +pkgver=r22.305521e +pkgrel=1 +pkgdesc="ARSDK3 C librairies to control Parrot devices" +arch=(x86_64) +url="http://developer.parrot.com/" +license=('custom') +groups=() +depends=(curl json-c avahi ffmpeg uthash) +optdepends=() +makedepends=(git repo python2-virtualenv) +provides=() +conflicts=() +replaces=() +backup=() +options=() +install= +source=('arsdk_manifests::git+https://github.com/Parrot-Developers/arsdk_manifests' + '0001-arsdk_manifests-Remove-libs_and_samples.patch' + '0002-Use-local-json-and-curl.patch' + '0003-Fix-json-c.patch' + '0004-libARController-Fix-uthash-path.patch' + '0005-libARDiscovery-Fix-some-warnings.patch' + 'local-dependencies-atom.mk' + 'LICENSE') +md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP') + +pkgver() { + cd "$srcdir/arsdk_manifests" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + # Clean + rm -rf "$srcdir/.repo" "$srcdir/packages" "$srcdir/products" + + # Init repo + cd "$srcdir/" + repo init -u "$srcdir/arsdk_manifests" + + # Remove unused libs and samples from manifest + patch -p1 -i "$srcdir/0001-arsdk_manifests-Remove-libs_and_samples.patch" + + # Download the sdk + repo sync + + # Patch files + patch -p1 -i "$srcdir/0002-Use-local-json-and-curl.patch" + patch -p1 -i "$srcdir/0003-Fix-json-c.patch" + patch -p1 -i "$srcdir/0004-libARController-Fix-uthash-path.patch" + patch -p1 -i "$srcdir/0005-libARDiscovery-Fix-some-warnings.patch" + + # Add build settings to use archlinux libs + mkdir "$srcdir/packages/ArchlinuxLibs" + cp "$srcdir/local-dependencies-atom.mk" "$srcdir/packages/ArchlinuxLibs/atom.mk" +} + +build() { + virtualenv2 venv + source venv/bin/activate + ./build.sh -p arsdk-native -t build-sdk -j +} + +package() { + cp -r "$srcdir/out/arsdk-native/staging/"* "$pkgdir" + + # Clean + rm -f "$pkgdir/native-wrapper.sh" + rm -rf "$pkgdir/etc" + rm -rf "$pkgdir/usr/include/x86_64-pc-linux-gnu" + + # Install license + mkdir -p "$pkgdir/usr/share/licenses/$pkgname" + cp "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/local-dependencies-atom.mk b/local-dependencies-atom.mk new file mode 100644 index 000000000000..99f08f758abf --- /dev/null +++ b/local-dependencies-atom.mk @@ -0,0 +1,15 @@ +include $(CLEAR_VARS) +LOCAL_MODULE := json +LOCAL_EXPORT_C_INCLUDES := $(shell pkg-config --cflags json-c) +LOCAL_EXPORT_LDLIBS := $(shell pkg-config --libs json-c) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := curl +LOCAL_EXPORT_C_INCLUDES := $(shell pkg-config --cflags libcurl) +LOCAL_EXPORT_LDLIBS := $(shell pkg-config --libs libcurl) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := uthash +include $(BUILD_PREBUILT) |