summaryrefslogtreecommitdiff
path: root/dev-libs/msgpack
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-libs/msgpack
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-libs/msgpack')
-rw-r--r--dev-libs/msgpack/Manifest23
-rw-r--r--dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch25
-rw-r--r--dev-libs/msgpack/files/msgpack-1.0.0-static.patch40
-rw-r--r--dev-libs/msgpack/files/msgpack-1.1.0-gcc6.patch22
-rw-r--r--dev-libs/msgpack/files/msgpack-1.4.2-cflags.patch32
-rw-r--r--dev-libs/msgpack/files/msgpack-1.4.2-static.patch46
-rw-r--r--dev-libs/msgpack/files/msgpack-2.0.0-gcc7-implicit-fallthrough.patch1798
-rw-r--r--dev-libs/msgpack/metadata.xml11
-rw-r--r--dev-libs/msgpack/msgpack-0.5.9.ebuild24
-rw-r--r--dev-libs/msgpack/msgpack-1.0.0.ebuild42
-rw-r--r--dev-libs/msgpack/msgpack-1.0.1.ebuild42
-rw-r--r--dev-libs/msgpack/msgpack-1.1.0.ebuild46
-rw-r--r--dev-libs/msgpack/msgpack-1.4.2.ebuild78
-rw-r--r--dev-libs/msgpack/msgpack-2.0.0.ebuild43
-rw-r--r--dev-libs/msgpack/msgpack-2.1.1.ebuild77
15 files changed, 2349 insertions, 0 deletions
diff --git a/dev-libs/msgpack/Manifest b/dev-libs/msgpack/Manifest
new file mode 100644
index 000000000000..6c491cbf7723
--- /dev/null
+++ b/dev-libs/msgpack/Manifest
@@ -0,0 +1,23 @@
+AUX msgpack-1.0.0-cflags.patch 1189 SHA256 78b05fa14291c5298d3d6f746e1bdaac9cd2b714ab2c6b758b0614bbfb57cb9c SHA512 7e6aa85e8850b7daf0c9ee741548bab7bfe9e62871c4f5388598c28819ed8efc14cb8e828a449369ba5f97b68d4257b246a017f5815ed7d8d5cfedc4a793be51 WHIRLPOOL ec9530652e2c019a0ef016595f192b23e6faecfd4c6ade0140ab19b20b936bc71d05ade774f12758c4c265af07ac7847194514addf1ee7d840b58d513d2df545
+AUX msgpack-1.0.0-static.patch 1324 SHA256 e232caa99705f91d43bd022141991bf2eef59cb0e475918b16c91f1595485d5d SHA512 a99cbca27fe4773711ad0220c75645d247fd1b4ed99baa41d5a952d65b316d2ea2e60182e8e1fafd6caa667ab0e6eaf110024f66337604effcdda2c9dd87d3f0 WHIRLPOOL a4ecc49a5ad1b2f0a346aa0e5c34ea829f2d807a4e18b56ab4eb0e83a2cc2ed59be77d08a10015458aa8b41dee2d1782fe5eee6c083e6558a64490eb6d41634e
+AUX msgpack-1.1.0-gcc6.patch 900 SHA256 6cf71e1825b7626aff357b3ba2b334cd914bd6ae0351db3f270d4ec931cb7a08 SHA512 be88e6f2119ded151af8334315c40027967603240158f0a1ab0aadbfdd0e8a04df13aecc9ed26135d6684a0f40f627727635c032722108bb4a63a68d8eed789b WHIRLPOOL 1939946d3cb87958e8414f45c80e3047bf1585e8165537f666bceaa9219e2801125390b575c373f2576eb3fbfcfd93ff33974b78dac4351c97ef5396adcd1bf5
+AUX msgpack-1.4.2-cflags.patch 1438 SHA256 30cef6a631d2d83c85affbb2d9f93536094637d1a79e4693ae1e7bc302abc1cf SHA512 84de04af80b6237595419ff78b7cb81007e1ef2e8b2e8cd85da5a8e85b0720649ec41c48e0906c908fbb088aee2ee69efdf6b89557c9e46b5dce887afee263ed WHIRLPOOL 5897e1a2a0c95e60ee76941f0e2468c3d76c1f76967e60d76aaf16a94fb6f61e0ce0140a1daafe514ae563c6c445e7ad9042274231f8980bdc21b643becb116f
+AUX msgpack-1.4.2-static.patch 1617 SHA256 11dae6e8e91065307aa2d82ebd5a2e7e6f61d649772a165b7837aa41e62bff01 SHA512 1e89e47094a0b2b22c32ed0685bfca06707ce89f460d01c44868708c6e3cbf38da65e9ab9940ad469a2aec59c80690fc66a3655125c4f28ccbd6b0c8c9a57352 WHIRLPOOL 8cdfdba0282ef6c2710f483426a7311e64af6a4efbe5f1991f0ae69392ba24f78fb36beaf66becdb7c4cc8765b6d93d9a4c46b94aef2b6b31d9cb1638d5fa143
+AUX msgpack-2.0.0-gcc7-implicit-fallthrough.patch 43138 SHA256 efec1540a3f0a128ef323df232f303e3d95c50df5e51ea250d99d81d9909a406 SHA512 b17f7a6a7a4a463a81cc39ed8ac1c991fa50c8f865a691afdf0114377a763d70dba142d7c5584c7d9800c9c07d20d7fced902c478cc3487902459c97a4dc5818 WHIRLPOOL d36bcd61c22f19a3f034575a1a2fda8b08ec9399356d9d9a373d8bf67d887568ff0f07c5de14e2ae614d785fd7fa55234865d744721c59d4168b18f2980a9ddb
+DIST msgpack-0.5.9.tar.gz 431625 SHA256 6139614b4142df3773d74e9d9a4dbb6dd0430103cfa7b083e723cde0ec1e7fdd SHA512 9488bf8d4aefb44ce7554cfc1e6a5fee50b774ca173a7cb8a344f421da64d51d5c60d58fd7aaf93490a33447ad2150098c164ef6a11b6b042c3b1b4a38d06435 WHIRLPOOL a618876b296f8ce40985c1d5e0830c21e3f24ad5baead765ed45712518f386aacafcc69335da77803a937961d8671cf1122105681dde626228557a10cf4ffa03
+DIST msgpack-1.0.0.tar.gz 478108 SHA256 494717d9837add0f686a77fc7ebffd7e39338cc7542cbb369aef4673eec1c3eb SHA512 afa9bf4e49fe619292e6bb59e11b0288381389d06b03778f77586ec61105a47c822eed4931a610495ac6965050266cd47c02a39095995abf702865a7b64abd88 WHIRLPOOL b5bde9267aa1c55925e154afa73fb9f1e24663b5be0242e989f1ec0d38799c84ce7a666374f1970bae94d8467f43d9b99557545f37115220a1f7d8284a34a90a
+DIST msgpack-1.0.1.tar.gz 484598 SHA256 a070d27d16133fe508fca72af434cd9e114709fffc1973de3dd3d3e6a987e250 SHA512 da20ddafe6ec4b61b1ea9cc9e79070c5ce7805974c0fd18ed46d6dc422732b93f29c6b28cf72ada3c77770d55f00f8b17655538535f46a60252083e2afe12545 WHIRLPOOL 409656d7d8ed66c115c27ff71ffa3efbbe47d8be215262b995220caa9c0ba9079731213080c1fd601717f8d13c7f109a0ff829aade09f324e00f297379856e76
+DIST msgpack-1.1.0.tar.gz 493551 SHA256 a8d400e2f0cae811a150f564d95c7ad6f30a77ad4584303de06467234b73f345 SHA512 6823fab090c2146f871a45736c29b8f81434f0d72c597ebea2e947e4a9a17554e163bc88fbbc3dd0805b2ef0df029b10ca30c09dfbd1111252b9861a1e373901 WHIRLPOOL 103e3152a31c66644afc5a6673a7700b7bc0b7af09e800e0efe161de73cc46e85015469bdb9688db6826a611db298e79b052fc0e0703f8534e7455130250e111
+DIST msgpack-1.4.2.tar.gz 776384 SHA256 c0f1da8462ea44b23f89573eff04a1f329bcff6fd80eb0d4b976d7f19caf1fa2 SHA512 c2da1d3bcc4e3dbcd93e005c63796e52e071d47ccd18434d4d3483b2e8255cf89ade746392decaa50e3911ca0134bb0da88b3b2ada9acfba0d331dfd48843548 WHIRLPOOL 77d2d826b31957055a5ac8d084d69d167a61e611cbac91138fb24eb63faf84dd1af86e00fcc23a5ce20b4c8d9956c12d78b381409fdf97507f1b8ca11e8d0171
+DIST msgpack-2.0.0.tar.gz 446063 SHA256 41de0989a3385061ab7307a1005655e780def6fc9c89af0ec942616aa787e136 SHA512 74d1c9641ecdf1a54346088c59415cf778821dc6f6acb0c5a8a93c2284edaf53c4746459093971d96136279fbd8de10cb9a43dd8d8220d335618ad30e971e9a3 WHIRLPOOL 1d2cd314c57d21cce310a420031f44c6faf330a9795f4d79d96028e97d5bfbf1941a27247ae9ce963966136a91e951052139f4df9b99aa17d3df431b5c26b185
+DIST msgpack-2.1.1.tar.gz 460168 SHA256 fce702408f0d228a1b9dcab69590d6a94d3938f694b95c9e5e6249617e98d83f SHA512 31ed6fda498d43da6fdbbe000ce36c40e4cf886f00d879c57d406def7f5bba4eaf66f02f221398cb50f6f4c748d5cde9c97eca0cfa21b368c7c933c3301cf9b5 WHIRLPOOL 62150e6b64e4e5b2fd01c3546618cbad746bc4c877033137c48b2fcc4bdfb4e0ad2628c5945162c151d285a9c9104cc4a4daf1ad3c49a642dcec39eb27d44003
+EBUILD msgpack-0.5.9.ebuild 700 SHA256 38ba2819efc2cac29d8696a008b2030dae7639791c49465a9421e5234e48f226 SHA512 cad2ca980bfaef714b8fe3997ecfc77d51b5cc5a3713a85c1c2036d3ce4e8e11f9f7ac36b4b0754935c95988593fd53b3eee367d56a4f6c420a2f3db3f702229 WHIRLPOOL 11264f8cfe3e01e8e932f79fa2128679e097e4696f774f5d7a0b7490e69a059f9898187ceba8cc33132509b093fca21dd4c4631f4e1d1ebf0d476d12d6bad20c
+EBUILD msgpack-1.0.0.ebuild 1014 SHA256 c677e9e63cc8ecf77aa5a499ff3957c21b07ca879ef4ecd31d60313577c66705 SHA512 74684aba0532f0b007b41687803b36819d80025b17a25e98eeb1384cc8198e4f33e73ddfecf7d0e4743a132993ccf9a8fe5a2ef7c2e9fc12b44ea9bfe5a7a5f7 WHIRLPOOL 5aecf779e5e67dc110e2af0744a7e7a9e335db0c5e3b0ebeb8eb6ec0d7747e368c064c338ad5230f0e015246585b1da146ef4f1ded2302ec846040e2fb533231
+EBUILD msgpack-1.0.1.ebuild 1028 SHA256 2d2277bbde45233bb3c4ba0c09ce936d00fdbf204cecc13c22b0c99a26438b8a SHA512 d1ba2b5ebc89d88f6339f7cc2c374092d1fc552769dd0e50561e420ea15d3cc6fea5193c1b7c5b14d9b599c496c2bd1d5b9a12e2526b7915c3bc6a8357fa4dc0 WHIRLPOOL ea59a1f736250e1cd2026dfef64d6a5d40ec4be1f60d3d3dcbcdcc29b38aae395badda9cc293a38e66fcb6f18922d1246cf668580ac7de0513fde79be88c928f
+EBUILD msgpack-1.1.0.ebuild 1062 SHA256 9253a341dcf39173f76a783909fe593806bc1526f85976ac8a2d1d1b3d58f0be SHA512 614501ddab97e13b56575edb4257aaf873c22b6b1a7c238b8863e69e73f9434b7da0e35292b18afa896aef66a9c868d82ee019c15735f76f08bb5881efed4fce WHIRLPOOL d5ecf5a3cebb8949c8b4450793c088e7e466703d2def0f841ae5532dfcadbd64211b68281887f8da728df51328299656f00cbd3be6344d45a399cfb773affcd7
+EBUILD msgpack-1.4.2.ebuild 1673 SHA256 efcc0bada0f1f4d24b6b1391956bf1ba96c9177102185d372c97028fcd5a028f SHA512 bd14e69ece353d2d4fbbae6dc1ecfa703893dd94e7863ac304beb32e556b0367ae002d3c20e17e6555a1442f944d33d58478df0b097401dd2edd2640081fc436 WHIRLPOOL f903f2cb75b34e1ba7eb51a314111dcd194f9c0ad94a0408ea445b7607a86025099d87aceca04e682f57e32ac9cad9a124ae7b2783347a89660cfdefeb1ee25f
+EBUILD msgpack-2.0.0.ebuild 949 SHA256 e7acd6301d6bbc5f2f721b120f4bf435cd49d5bba597dc61b71ac8a95bc8796e SHA512 41f4c8d4478266b48403360085eb11377f5d5f201a2dedc3b038781439237cb0e9f0212d88a2a96b66d1a1e0a3344378aba17935399446c84f2ba0c94a3ee961 WHIRLPOOL 37833b67e9e9056c5cd9cf3c4ba830c262aed2937069520799216f93a3a9de00bea9c4473a457f425310cf965a69b0b3a43cc38eeb657de796fd73f66c44285c
+EBUILD msgpack-2.1.1.ebuild 1672 SHA256 87a4599eb320ef3f3bf905bfa60483d6440ecda96a2543b84ce6ba5c73f8eb5a SHA512 91dfb6af964d74125dc828cf44b25f2cf3bf7755a8976d78160744278c261951c89d255445cf4e8a83fe95162b8c85364e074039bb6f83b253a045daeafb8bb4 WHIRLPOOL 9e721f7e698ec8ce86c986914930d0931594f0652a8fe941bc9c750596c18000be92c65543d261d005d29b41af80ec3340871d75bbf7cbeee9d5860c4cb5f073
+MISC ChangeLog 2507 SHA256 2f550a7c41e2a6bc6ff36558ed9aab5f8bb7e39b7a244bb4aea6cf2bfecf6e25 SHA512 cbab6e7791a2a4b69bcdd2a2f837e1ea5bcb3d2c166f1553eb8dcf714c12501e750cc8b240d70deb06d345c9eaa9653756a2f40355350eb22b708130ad39cb12 WHIRLPOOL 73e61e23a9ce1f7d7203f0fb86519ebc0e00fa87308d9551f198a23b102894fd066ddbf4cf64104fe1a7e4dd5492072edad711db2f14870026381c6918ea7e1f
+MISC ChangeLog-2015 2951 SHA256 5f85b5d162e780ec323360e04374d011b335d1bc8ca843cf3ad0b73fbd135b55 SHA512 11f4bf9559aa68be9aeca8fc98a9d7ae4e2a4df680b7f2f983c860d258e7d162e3c664c4e0032e0331d9004515ec60f61946824d4f5ca0080016d1321c2422fc WHIRLPOOL 5bac7a3bd8be66290d9e912d8315488f3171bcc7f34ed4ca2fdc07039a652fabf32058eca3a0054e0a6eaa7a084d7f1b9f46b6981184507e44888acf4082061d
+MISC metadata.xml 341 SHA256 f60807b1c7b0f32b2b2acda47093444fa2869688b6375b538fe8400be4c89214 SHA512 2f113e9ea3a53739a77440a16e5a980082d7bfac6ac8a3185e85233999324f81ad9e9a0fceb623c4f7bc103346b345979571151dd61dcf8cc1c748db13ce67fb WHIRLPOOL 570afc27d62aa7f9c05a0977bf75b0624c8155ffb63d2f125686ffc5b872d996ffeb98ea31c28d8416f22369cdcd6f9bd86ad51afd24707319386d88a6e4a123
diff --git a/dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch b/dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch
new file mode 100644
index 000000000000..fc6cacd0a03c
--- /dev/null
+++ b/dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch
@@ -0,0 +1,25 @@
+--- msgpack-1.0.0/CMakeLists.txt
++++ msgpack-1.0.0/CMakeLists.txt
+@@ -213,10 +213,6 @@
+ ADD_SUBDIRECTORY (test)
+ ENDIF ()
+
+-IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+- SET_PROPERTY (TARGET msgpack APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3 -DPIC")
+- SET_PROPERTY (TARGET msgpack-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3" )
+-ENDIF ()
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+ IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
+ STRING(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+--- msgpack-1.0.0/test/CMakeLists.txt
++++ msgpack-1.0.0/test/CMakeLists.txt
+@@ -52,9 +52,6 @@
+ ${CMAKE_THREAD_LIBS_INIT}
+ )
+ ADD_TEST (${source_file_we} ${source_file_we})
+- IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+- SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3")
+- ENDIF ()
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+ IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
+ STRING(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
diff --git a/dev-libs/msgpack/files/msgpack-1.0.0-static.patch b/dev-libs/msgpack/files/msgpack-1.0.0-static.patch
new file mode 100644
index 000000000000..e40a9deaaece
--- /dev/null
+++ b/dev-libs/msgpack/files/msgpack-1.0.0-static.patch
@@ -0,0 +1,40 @@
+--- msgpack-1.0.0/CMakeLists.txt
++++ msgpack-1.0.0/CMakeLists.txt
+@@ -17,6 +17,7 @@
+
+ OPTION (MSGPACK_CXX11 "Using c++11 compiler" OFF)
+ OPTION (MSGPACK_32BIT "32bit compile" OFF)
++OPTION (MSGPACK_STATIC "Build static library" ON)
+
+ IF (MSGPACK_CXX11)
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+@@ -196,12 +197,15 @@
+ ${msgpack_HEADERS}
+ )
+
+-ADD_LIBRARY (msgpack-static STATIC
+- ${msgpack_SOURCES}
+- ${msgpack_HEADERS}
+-)
++IF (MSGPACK_STATIC)
++ ADD_LIBRARY (msgpack-static STATIC
++ ${msgpack_SOURCES}
++ ${msgpack_HEADERS}
++ )
++ SET_TARGET_PROPERTIES (msgpack-static PROPERTIES OUTPUT_NAME "msgpack")
++ INSTALL (TARGETS msgpack-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ENDIF ()
+
+-SET_TARGET_PROPERTIES (msgpack-static PROPERTIES OUTPUT_NAME "msgpack")
+ SET_TARGET_PROPERTIES (msgpack PROPERTIES IMPORT_SUFFIX "_import.lib")
+ SET_TARGET_PROPERTIES (msgpack PROPERTIES SOVERSION 3 VERSION 4.0.0)
+
+@@ -233,7 +237,7 @@
+ SET(CMAKE_INSTALL_LIBDIR lib)
+ ENDIF ()
+
+-INSTALL (TARGETS msgpack msgpack-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
++INSTALL (TARGETS msgpack DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ INSTALL (DIRECTORY include DESTINATION ${CMAKE_INSTALL_PREFIX})
+ INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
diff --git a/dev-libs/msgpack/files/msgpack-1.1.0-gcc6.patch b/dev-libs/msgpack/files/msgpack-1.1.0-gcc6.patch
new file mode 100644
index 000000000000..2fc9bb46e4bf
--- /dev/null
+++ b/dev-libs/msgpack/files/msgpack-1.1.0-gcc6.patch
@@ -0,0 +1,22 @@
+Bug: https://bugs.gentoo.org/623492
+Backported from: https://github.com/msgpack/msgpack-c/commit/66a5fcf8f1a9e57b02904a6ac55a86a9c74ea1de
+
+--- a/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp
++++ b/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp
+@@ -46,13 +46,14 @@
+ public:
+ using base = std::tuple<Types...>;
+
+- using base::base;
+
+- tuple() = default;
+ tuple(tuple const&) = default;
+ tuple(tuple&&) = default;
+
+ template<typename... OtherTypes>
++ tuple(OtherTypes&&... other):base(std::forward<OtherTypes>(other)...) {}
++
++ template<typename... OtherTypes>
+ tuple(tuple<OtherTypes...> const& other):base(static_cast<std::tuple<OtherTypes...> const&>(other)) {}
+ template<typename... OtherTypes>
+ tuple(tuple<OtherTypes...> && other):base(static_cast<std::tuple<OtherTypes...> &&>(other)) {}
diff --git a/dev-libs/msgpack/files/msgpack-1.4.2-cflags.patch b/dev-libs/msgpack/files/msgpack-1.4.2-cflags.patch
new file mode 100644
index 000000000000..bb3bc6bcbc5b
--- /dev/null
+++ b/dev-libs/msgpack/files/msgpack-1.4.2-cflags.patch
@@ -0,0 +1,32 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7a9b241..73fe07c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -283,13 +283,6 @@ IF (MSGPACK_BUILD_TESTS)
+ ADD_SUBDIRECTORY (test)
+ ENDIF ()
+
+-IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+- IF (MSGPACK_ENABLE_SHARED)
+- SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3 -DPIC")
+- ENDIF ()
+- SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3" )
+-ENDIF ()
+-
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
+ ENDIF ()
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 5dfbbe4..5d1cb8a 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -74,9 +74,6 @@ FOREACH (source_file ${check_PROGRAMS})
+ ${CMAKE_THREAD_LIBS_INIT}
+ )
+ ADD_TEST (${source_file_we} ${source_file_we})
+- IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+- SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3 ")
+- ENDIF ()
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
+ ENDIF ()
diff --git a/dev-libs/msgpack/files/msgpack-1.4.2-static.patch b/dev-libs/msgpack/files/msgpack-1.4.2-static.patch
new file mode 100644
index 000000000000..994e9fbbc297
--- /dev/null
+++ b/dev-libs/msgpack/files/msgpack-1.4.2-static.patch
@@ -0,0 +1,46 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7a9b241..49b0405 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -20,6 +20,7 @@ SET (GNUCXX_NO_MISMATCHED_TAGS_SUPPORT_VERSION "4.4")
+ OPTION (MSGPACK_CXX11 "Using c++11 compiler" OFF)
+ OPTION (MSGPACK_32BIT "32bit compile" OFF)
+ OPTION (MSGPACK_BOOST "Using boost libraries" OFF)
++OPTION (MSGPACK_STATIC "Build static library" ON)
+
+ SET (CMAKE_CXX_FLAGS "-DMSGPACK_DISABLE_LEGACY_NIL ${CMAKE_CXX_FLAGS}")
+ SET (CMAKE_CXX_FLAGS "-DMSGPACK_DISABLE_LEGACY_CONVERT ${CMAKE_CXX_FLAGS}")
+@@ -263,12 +264,14 @@ IF (MSGPACK_ENABLE_SHARED)
+ )
+ ENDIF ()
+
+-ADD_LIBRARY (msgpackc-static STATIC
+- ${msgpackc_SOURCES}
+- ${msgpackc_HEADERS}
+-)
++IF (MSGPACK_STATIC)
++ ADD_LIBRARY (msgpackc-static STATIC
++ ${msgpackc_SOURCES}
++ ${msgpackc_HEADERS}
++ )
++ SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
++ENDIF()
+
+-SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
+ IF (MSGPACK_ENABLE_SHARED)
+ SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib")
+ SET_TARGET_PROPERTIES (msgpackc PROPERTIES SOVERSION 2 VERSION 2.0.0)
+@@ -322,9 +325,10 @@ IF (MSGPACK_BUILD_EXAMPLES)
+ ENDIF ()
+
+ IF (MSGPACK_ENABLE_SHARED)
+- SET (MSGPACK_INSTALLTARGETS msgpackc msgpackc-static)
+-ELSE()
+- SET (MSGPACK_INSTALLTARGETS msgpackc-static)
++ SET (MSGPACK_INSTALLTARGETS msgpackc)
++ENDIF()
++IF (MSGPACK_STATIC)
++ SET (MSGPACK_INSTALLTARGETS ${MSGPACK_INSTALLTARGETS} msgpackc-static)
+ ENDIF ()
+
+ INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/dev-libs/msgpack/files/msgpack-2.0.0-gcc7-implicit-fallthrough.patch b/dev-libs/msgpack/files/msgpack-2.0.0-gcc7-implicit-fallthrough.patch
new file mode 100644
index 000000000000..1562c0362687
--- /dev/null
+++ b/dev-libs/msgpack/files/msgpack-2.0.0-gcc7-implicit-fallthrough.patch
@@ -0,0 +1,1798 @@
+diff -aurP msgpack-2.0.0/erb/v1/cpp03_define_array.hpp.erb msgpack-2.0.0.new/erb/v1/cpp03_define_array.hpp.erb
+--- msgpack-2.0.0/erb/v1/cpp03_define_array.hpp.erb 2016-06-18 18:20:36.000000000 -0500
++++ msgpack-2.0.0.new/erb/v1/cpp03_define_array.hpp.erb 2017-08-01 17:20:57.803000361 -0500
+@@ -66,7 +66,9 @@
+ msgpack::object *ptr = o.via.array.ptr;
+ switch(size) {
+ default:<%(i).downto(0) {|j|%>
+- case <%=j+1%>: ptr[<%=j%>].convert(a<%=j%>);<%}%>
++ case <%=j+1%>: ptr[<%=j%>].convert(a<%=j%>);
++ // fallthrough
++<%}%>
+ }
+ }
+ }
+diff -aurP msgpack-2.0.0/include/msgpack/unpack_template.h msgpack-2.0.0.new/include/msgpack/unpack_template.h
+--- msgpack-2.0.0/include/msgpack/unpack_template.h 2016-05-27 21:10:28.000000000 -0500
++++ msgpack-2.0.0.new/include/msgpack/unpack_template.h 2017-08-01 17:20:49.389000738 -0500
+@@ -248,6 +248,7 @@
+
+ _fixed_trail_again:
+ ++p;
++ // fallthrough
+
+ default:
+ if((size_t)(pe - p) < trail) { goto _out; }
+diff -aurP msgpack-2.0.0/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp msgpack-2.0.0.new/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp
+--- msgpack-2.0.0/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp 2016-06-24 21:16:43.000000000 -0500
++++ msgpack-2.0.0.new/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp 2017-08-01 17:23:32.690993409 -0500
+@@ -67,6 +67,8 @@
+ switch(size) {
+ default:
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -105,7 +107,9 @@
+ switch(size) {
+ default:
+ case 2: ptr[1].convert(a1);
++ // fallthrough
+ case 1: ptr[0].convert(a0);
++ // fallthrough
+ }
+ }
+ }
+@@ -147,8 +151,14 @@
+ switch(size) {
+ default:
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -193,9 +203,13 @@
+ switch(size) {
+ default:
+ case 4: ptr[3].convert(a3);
++ // fallthrough
+ case 3: ptr[2].convert(a2);
++ // fallthrough
+ case 2: ptr[1].convert(a1);
++ // fallthrough
+ case 1: ptr[0].convert(a0);
++ // fallthrough
+ }
+ }
+ }
+@@ -243,10 +257,20 @@
+ switch(size) {
+ default:
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -297,11 +321,23 @@
+ switch(size) {
+ default:
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -355,12 +391,26 @@
+ switch(size) {
+ default:
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -417,13 +467,29 @@
+ switch(size) {
+ default:
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -483,14 +549,32 @@
+ switch(size) {
+ default:
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -553,15 +637,35 @@
+ switch(size) {
+ default:
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -627,16 +731,38 @@
+ switch(size) {
+ default:
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -705,17 +831,41 @@
+ switch(size) {
+ default:
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -787,18 +937,44 @@
+ switch(size) {
+ default:
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -873,19 +1049,47 @@
+ switch(size) {
+ default:
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -963,20 +1167,50 @@
+ switch(size) {
+ default:
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -1057,21 +1291,53 @@
+ switch(size) {
+ default:
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -1155,22 +1421,56 @@
+ switch(size) {
+ default:
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -1257,23 +1557,59 @@
+ switch(size) {
+ default:
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -1363,24 +1699,62 @@
+ switch(size) {
+ default:
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -1473,25 +1847,65 @@
+ switch(size) {
+ default:
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -1587,26 +2001,68 @@
+ switch(size) {
+ default:
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -1705,27 +2161,71 @@
+ switch(size) {
+ default:
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -1827,28 +2327,74 @@
+ switch(size) {
+ default:
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -1953,29 +2499,77 @@
+ switch(size) {
+ default:
+ case 24: ptr[23].convert(a23);
++ // fallthrough
++
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -2083,30 +2677,80 @@
+ switch(size) {
+ default:
+ case 25: ptr[24].convert(a24);
++ // fallthrough
++
+ case 24: ptr[23].convert(a23);
++ // fallthrough
++
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -2217,31 +2861,83 @@
+ switch(size) {
+ default:
+ case 26: ptr[25].convert(a25);
++ // fallthrough
++
+ case 25: ptr[24].convert(a24);
++ // fallthrough
++
+ case 24: ptr[23].convert(a23);
++ // fallthrough
++
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -2355,32 +3051,86 @@
+ switch(size) {
+ default:
+ case 27: ptr[26].convert(a26);
++ // fallthrough
++
+ case 26: ptr[25].convert(a25);
++ // fallthrough
++
+ case 25: ptr[24].convert(a24);
++ // fallthrough
++
+ case 24: ptr[23].convert(a23);
++ // fallthrough
++
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -2497,33 +3247,89 @@
+ switch(size) {
+ default:
+ case 28: ptr[27].convert(a27);
++ // fallthrough
++
+ case 27: ptr[26].convert(a26);
++ // fallthrough
++
+ case 26: ptr[25].convert(a25);
++ // fallthrough
++
+ case 25: ptr[24].convert(a24);
++ // fallthrough
++
+ case 24: ptr[23].convert(a23);
++ // fallthrough
++
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -2643,34 +3449,92 @@
+ switch(size) {
+ default:
+ case 29: ptr[28].convert(a28);
++ // fallthrough
++
+ case 28: ptr[27].convert(a27);
++ // fallthrough
++
+ case 27: ptr[26].convert(a26);
++ // fallthrough
++
+ case 26: ptr[25].convert(a25);
++ // fallthrough
++
+ case 25: ptr[24].convert(a24);
++ // fallthrough
++
+ case 24: ptr[23].convert(a23);
++ // fallthrough
++
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -2793,35 +3657,95 @@
+ switch(size) {
+ default:
+ case 30: ptr[29].convert(a29);
++ // fallthrough
++
+ case 29: ptr[28].convert(a28);
++ // fallthrough
++
+ case 28: ptr[27].convert(a27);
++ // fallthrough
++
+ case 27: ptr[26].convert(a26);
++ // fallthrough
++
+ case 26: ptr[25].convert(a25);
++ // fallthrough
++
+ case 25: ptr[24].convert(a24);
++ // fallthrough
++
+ case 24: ptr[23].convert(a23);
++ // fallthrough
++
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -2947,36 +3871,98 @@
+ switch(size) {
+ default:
+ case 31: ptr[30].convert(a30);
++ // fallthrough
++
+ case 30: ptr[29].convert(a29);
++ // fallthrough
++
+ case 29: ptr[28].convert(a28);
++ // fallthrough
++
+ case 28: ptr[27].convert(a27);
++ // fallthrough
++
+ case 27: ptr[26].convert(a26);
++ // fallthrough
++
+ case 26: ptr[25].convert(a25);
++ // fallthrough
++
+ case 25: ptr[24].convert(a24);
++ // fallthrough
++
+ case 24: ptr[23].convert(a23);
++ // fallthrough
++
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
+@@ -3105,37 +4091,101 @@
+ switch(size) {
+ default:
+ case 32: ptr[31].convert(a31);
++ // fallthrough
++
+ case 31: ptr[30].convert(a30);
++ // fallthrough
++
+ case 30: ptr[29].convert(a29);
++ // fallthrough
++
+ case 29: ptr[28].convert(a28);
++ // fallthrough
++
+ case 28: ptr[27].convert(a27);
++ // fallthrough
++
+ case 27: ptr[26].convert(a26);
++ // fallthrough
++
+ case 26: ptr[25].convert(a25);
++ // fallthrough
++
+ case 25: ptr[24].convert(a24);
++ // fallthrough
++
+ case 24: ptr[23].convert(a23);
++ // fallthrough
++
+ case 23: ptr[22].convert(a22);
++ // fallthrough
++
+ case 22: ptr[21].convert(a21);
++ // fallthrough
++
+ case 21: ptr[20].convert(a20);
++ // fallthrough
++
+ case 20: ptr[19].convert(a19);
++ // fallthrough
++
+ case 19: ptr[18].convert(a18);
++ // fallthrough
++
+ case 18: ptr[17].convert(a17);
++ // fallthrough
++
+ case 17: ptr[16].convert(a16);
++ // fallthrough
++
+ case 16: ptr[15].convert(a15);
++ // fallthrough
++
+ case 15: ptr[14].convert(a14);
++ // fallthrough
++
+ case 14: ptr[13].convert(a13);
++ // fallthrough
++
+ case 13: ptr[12].convert(a12);
++ // fallthrough
++
+ case 12: ptr[11].convert(a11);
++ // fallthrough
++
+ case 11: ptr[10].convert(a10);
++ // fallthrough
++
+ case 10: ptr[9].convert(a9);
++ // fallthrough
++
+ case 9: ptr[8].convert(a8);
++ // fallthrough
++
+ case 8: ptr[7].convert(a7);
++ // fallthrough
++
+ case 7: ptr[6].convert(a6);
++ // fallthrough
++
+ case 6: ptr[5].convert(a5);
++ // fallthrough
++
+ case 5: ptr[4].convert(a4);
++ // fallthrough
++
+ case 4: ptr[3].convert(a3);
++ // fallthrough
++
+ case 3: ptr[2].convert(a2);
++ // fallthrough
++
+ case 2: ptr[1].convert(a1);
++ // fallthrough
++
+ case 1: ptr[0].convert(a0);
++ // fallthrough
++
+ }
+ }
+ }
diff --git a/dev-libs/msgpack/metadata.xml b/dev-libs/msgpack/metadata.xml
new file mode 100644
index 000000000000..a58d5aff1a40
--- /dev/null
+++ b/dev-libs/msgpack/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>vim@gentoo.org</email>
+ <name>Gentoo Vim Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">msgpack/msgpack-c</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/msgpack/msgpack-0.5.9.ebuild b/dev-libs/msgpack/msgpack-0.5.9.ebuild
new file mode 100644
index 000000000000..e78a1cac8492
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-0.5.9.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-multilib
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+DEPEND="test? ( >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}] )"
+
+DOCS=( AUTHORS ChangeLog README )
+
+src_prepare() {
+ sed -i 's/-O3 //' configure.in || die
+ autotools-multilib_src_prepare
+}
diff --git a/dev-libs/msgpack/msgpack-1.0.0.ebuild b/dev-libs/msgpack/msgpack-1.0.0.ebuild
new file mode 100644
index 000000000000..0b5bdcd69b1e
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-1.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+cxx static-libs test"
+
+DEPEND="
+ test? (
+ >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+"
+
+DOCS=( README.md )
+PATCHES=(
+ "${FILESDIR}"/${P}-cflags.patch
+ "${FILESDIR}"/${P}-static.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use cxx MSGPACK_ENABLE_CXX)
+ $(cmake-utils_use static-libs MSGPACK_STATIC)
+ $(cmake-utils_use test MSGPACK_BUILD_TESTS)
+ )
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/msgpack/msgpack-1.0.1.ebuild b/dev-libs/msgpack/msgpack-1.0.1.ebuild
new file mode 100644
index 000000000000..e9316807c0c3
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-1.0.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+cxx static-libs test"
+
+DEPEND="
+ test? (
+ >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+"
+
+DOCS=( README.md )
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.0-cflags.patch
+ "${FILESDIR}"/${PN}-1.0.0-static.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use cxx MSGPACK_ENABLE_CXX)
+ $(cmake-utils_use static-libs MSGPACK_STATIC)
+ $(cmake-utils_use test MSGPACK_BUILD_TESTS)
+ )
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/msgpack/msgpack-1.1.0.ebuild b/dev-libs/msgpack/msgpack-1.1.0.ebuild
new file mode 100644
index 000000000000..0743ad515c86
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-1.1.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+cxx static-libs test"
+
+DEPEND="
+ test? (
+ >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+"
+
+DOCS=( README.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.0-cflags.patch
+ "${FILESDIR}"/${PN}-1.0.0-static.patch
+ "${FILESDIR}"/${P}-gcc6.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use cxx MSGPACK_ENABLE_CXX)
+ $(cmake-utils_use static-libs MSGPACK_STATIC)
+ $(cmake-utils_use test MSGPACK_BUILD_TESTS)
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/msgpack/msgpack-1.4.2.ebuild b/dev-libs/msgpack/msgpack-1.4.2.ebuild
new file mode 100644
index 000000000000..186ab46e8bf7
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-1.4.2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+IUSE="+cxx doc examples static-libs test"
+
+DEPEND="
+ test? (
+ >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+ doc? ( app-doc/doxygen[dot] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.2-cflags.patch
+ "${FILESDIR}"/${PN}-1.4.2-static.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_ENABLE_CXX="$(usex cxx)"
+ -DMSGPACK_STATIC="$(usex static-libs)"
+ -DMSGPACK_BUILD_TESTS="$(usex test)"
+ # Don't build the examples
+ -DMSGPACK_BUILD_EXAMPLES=OFF
+ # Enable C++11 by default
+ -DMSGPACK_CXX11=ON
+ )
+ cmake-multilib_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ if multilib_is_native_abi && use doc; then
+ cmake-utils_src_make doxygen
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ if use doc; then
+ local HTML_DOCS=( "${BUILD_DIR}"/docs/. )
+
+ mkdir docs || die
+ mv doc_c/html docs/c || die
+
+ use cxx && mv doc_cpp/html docs/cpp || die
+ fi
+
+ if use examples; then
+ docinto examples
+
+ dodoc -r "${WORKDIR}/${P}/example/."
+
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ fi
+
+ cmake-utils_src_install
+}
diff --git a/dev-libs/msgpack/msgpack-2.0.0.ebuild b/dev-libs/msgpack/msgpack-2.0.0.ebuild
new file mode 100644
index 000000000000..334b5e5f0eec
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-2.0.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+cxx static-libs test"
+
+DEPEND="
+ test? (
+ >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+"
+
+DOCS=( README.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.0-gcc7-implicit-fallthrough.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_ENABLE_CXX=$(usex cxx)
+ -DMSGPACK_STATIC=$(usex static-libs)
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/msgpack/msgpack-2.1.1.ebuild b/dev-libs/msgpack/msgpack-2.1.1.ebuild
new file mode 100644
index 000000000000..e0def45df75c
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-2.1.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-multilib
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="http://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+IUSE="+cxx doc examples static-libs test"
+
+DEPEND="
+ test? (
+ >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+ doc? ( app-doc/doxygen[dot] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.2-cflags.patch
+ "${FILESDIR}"/${PN}-1.4.2-static.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_ENABLE_CXX="$(usex cxx)"
+ -DMSGPACK_STATIC="$(usex static-libs)"
+ -DMSGPACK_BUILD_TESTS="$(usex test)"
+ # Don't build the examples
+ -DMSGPACK_BUILD_EXAMPLES=OFF
+ # Enable C++11 by default
+ -DMSGPACK_CXX11=ON
+ )
+ cmake-multilib_src_configure
+}
+
+multilib_src_compile() {
+ cmake-utils_src_compile
+
+ if multilib_is_native_abi && use doc; then
+ cmake-utils_src_make doxygen
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ if use doc; then
+ local HTML_DOCS=( "${BUILD_DIR}"/docs/. )
+
+ mkdir docs || die
+ mv doc_c/html docs/c || die
+
+ use cxx && mv doc_cpp/html docs/cpp || die
+ fi
+
+ if use examples; then
+ docinto examples
+
+ dodoc -r "${WORKDIR}/${P}/example/."
+
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ fi
+
+ cmake-utils_src_install
+}