Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
184 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
argdata | ||
------------------------------------------ | ||
Argdata is a binary serialisation format inspired by YAML, MessagePack and | ||
nvlists. | ||
|
||
It is originally designed and currently used in CloudABI but does not depend | ||
on anything specific to CloudABI. | ||
|
||
The encoding is optimized for reading: | ||
|
||
* Strings (UTF-8 encoded) and binary data appear verbatim within the encoded | ||
data. Strings are followed by a null byte in the encoded data. This way, | ||
pointers into the encoded argdata can be used directly, without having to | ||
copy or overwrite data. | ||
|
||
* Instead of encoding the number of elements in maps and sequences (the only | ||
two structures containing subfields), the length of the subfields (in bytes) | ||
is stored before each subfield. This makes it possible to iterate over a map | ||
or sequence, without having to recursively iterate depth-first through all | ||
the elements. Skipping over a large map containing many other maps is as | ||
quick as skipping over a single integer. This means the encoded data can be | ||
navigated through quite efficiently, without constructing a data structure | ||
next to the encoded data. | ||
|
||
So, after the encoded argdata is stored in a buffer, no dynamic memory is | ||
needed at all to use any of the values contained within. | ||
|
||
Runtime requirements: | ||
cygwin-2.8.2-1 | ||
libargdata-devel-0.7-1bl1 | ||
libargdata1-0.7-1bl1 | ||
pkg-config-0.29.1-1 | ||
|
||
Build requirements: | ||
(besides corresponding -devel packages) | ||
binutils-2.25-4 | ||
cmake-3.6.2-1 | ||
cygport-0.24.1-1 | ||
gcc-core-5.4.0-1 | ||
gcc-g++-5.4.0-1 | ||
make-4.2.1-2 | ||
python-2.7.13-1 | ||
|
||
Canonical website: | ||
https://github.com/NuxiNL/argdata | ||
|
||
Canonical download: | ||
https://github.com/NuxiNL/argdata/archive/v0.7.tar.gz | ||
|
||
------------------------------------------- | ||
|
||
Build instructions: | ||
1. unpack argdata-0.7-X-src.tar.xz | ||
2. if you use setup to install this src package, | ||
it will be unpacked under /usr/src automatically | ||
% cd /usr/src | ||
% cygport ./argdata-0.7-X.cygport all | ||
|
||
This will create: | ||
/usr/src/argdata-0.7-X-src.tar.xz | ||
/usr/src/argdata-0.7-X.tar.xz | ||
/usr/src/libargdata1-0.7-X.tar.xz | ||
/usr/src/libargdata-devel-0.7-X.tar.xz | ||
|
||
------------------------------------------- | ||
|
||
Files included in the binary package: | ||
|
||
(argdata) | ||
/usr/share/doc/Cygwin/argdata.README | ||
/usr/share/doc/argdata/CONTRIBUTORS | ||
/usr/share/doc/argdata/LICENSE | ||
/usr/share/doc/argdata/README.md | ||
|
||
(libargdata1) | ||
/usr/bin/cygargdata-1.dll | ||
|
||
(libargdata-devel) | ||
/usr/include/argdata.h | ||
/usr/include/argdata.hpp | ||
/usr/lib/libargdata.dll.a | ||
/usr/lib/pkgconfig/argdata.pc | ||
|
||
------------------ | ||
|
||
Port Notes: | ||
|
||
----- version 0.7-1bl1 ----- | ||
Initial release by fd0 <https://github.com/fd00/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
HOMEPAGE="https://github.com/NuxiNL/${PN}" | ||
SRC_URI="https://github.com/NuxiNL/${PN}/archive/v${PV}.tar.gz" | ||
|
||
CATEGORY="Libs" | ||
SUMMARY="Binary serialisation format inspired by YAML, MessagePack and nvlists" | ||
DESCRIPTION="Argdata is a binary serialisation format inspired by YAML, MessagePack and | ||
nvlists. | ||
|
||
It is originally designed and currently used in CloudABI but does not depend | ||
on anything specific to CloudABI. | ||
|
||
The encoding is optimized for reading: | ||
|
||
* Strings (UTF-8 encoded) and binary data appear verbatim within the encoded | ||
data. Strings are followed by a null byte in the encoded data. This way, | ||
pointers into the encoded argdata can be used directly, without having to | ||
copy or overwrite data. | ||
|
||
* Instead of encoding the number of elements in maps and sequences (the only | ||
two structures containing subfields), the length of the subfields (in bytes) | ||
is stored before each subfield. This makes it possible to iterate over a map | ||
or sequence, without having to recursively iterate depth-first through all | ||
the elements. Skipping over a large map containing many other maps is as | ||
quick as skipping over a single integer. This means the encoded data can be | ||
navigated through quite efficiently, without constructing a data structure | ||
next to the encoded data. | ||
|
||
So, after the encoded argdata is stored in a buffer, no dynamic memory is | ||
needed at all to use any of the values contained within." | ||
|
||
inherit cmake | ||
|
||
PKG_NAMES=" | ||
${PN} | ||
lib${PN}1 | ||
lib${PN}-devel | ||
" | ||
argdata_CONTENTS=" | ||
usr/share | ||
" | ||
libargdata1_CONTENTS=" | ||
usr/bin | ||
" | ||
libargdata_devel_CONTENTS=" | ||
usr/include | ||
usr/lib | ||
" | ||
argdata_SUMMARY="${SUMMARY} (licensing & readmes)" | ||
libargdata1_SUMMARY="${SUMMARY} (runtime)" | ||
libargdata_devel_SUMMARY="${SUMMARY} (development)" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
--- origsrc/argdata-0.7/CMakeLists.txt 2017-08-23 01:09:59.000000000 +0900 | ||
+++ src/argdata-0.7/CMakeLists.txt 2017-08-26 18:19:54.362891500 +0900 | ||
@@ -62,10 +62,16 @@ set_property( | ||
"1" | ||
) | ||
|
||
+if (CYGWIN) | ||
+ set_target_properties(argdata PROPERTIES SOVERSION 1) | ||
+endif (CYGWIN) | ||
+ | ||
install( | ||
TARGETS | ||
argdata | ||
- DESTINATION | ||
+ RUNTIME DESTINATION | ||
+ ${CMAKE_INSTALL_BINDIR} | ||
+ ARCHIVE DESTINATION | ||
${CMAKE_INSTALL_LIBDIR} | ||
) | ||
|
||
@@ -76,3 +82,11 @@ install( | ||
DESTINATION | ||
${CMAKE_INSTALL_INCLUDEDIR} | ||
) | ||
+ | ||
+SET(prefix ${CMAKE_INSTALL_PREFIX}) | ||
+SET(exec_prefix ${CMAKE_INSTALL_PREFIX}) | ||
+SET(libdir ${CMAKE_INSTALL_PREFIX}/lib) | ||
+SET(includedir ${CMAKE_INSTALL_PREFIX}/include) | ||
+SET(VERSION "0.7") | ||
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/argdata.pc.in ${CMAKE_BINARY_DIR}/argdata.pc @ONLY) | ||
+INSTALL(FILES ${CMAKE_BINARY_DIR}/argdata.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) | ||
--- origsrc/argdata-0.7/argdata.pc.in 1970-01-01 09:00:00.000000000 +0900 | ||
+++ src/argdata-0.7/argdata.pc.in 2017-08-26 18:18:37.761000000 +0900 | ||
@@ -0,0 +1,10 @@ | ||
+prefix=@prefix@ | ||
+exec_prefix=@exec_prefix@ | ||
+libdir=@libdir@ | ||
+includedir=@includedir@ | ||
+ | ||
+Name: argdata | ||
+Description: Binary serialisation format inspired by YAML, MessagePack and nvlists | ||
+Version: @VERSION@ | ||
+Libs: -L${libdir} -largdata | ||
+Cflags: -I${includedir} |