libcereal (1.3.0+dfsg-1) unstable; urgency=medium
authorMichael R. Crusoe <crusoe@debian.org>
Wed, 13 Jan 2021 09:20:13 +0000 (10:20 +0100)
committerMichael R. Crusoe <crusoe@debian.org>
Wed, 13 Jan 2021 09:20:13 +0000 (10:20 +0100)
  [ Andreas Tille ]
  * Team upload.
  * Standards-Version: 4.5.1 (routine-update)
  * debhelper-compat 13 (routine-update)
  * Add salsa-ci file (routine-update)
  * Rules-Requires-Root: no (routine-update)
  * watch file standard 4 (routine-update)
  * install from debian/tmp to enable dh_missing --fail-missing
  * install cmake file
  * Remove code copy of rapidjson and use Debian packaged code instead
Closes: #976585
  [ Michael R. Crusoe ]
  * debian/patches/{reproducible-doxygen,drop-google-analytics}:
    doesn't need forwarding upstream.

[dgit import unpatched libcereal 1.3.0+dfsg-1]

20 files changed:
1  2 
debian/README.test
debian/changelog
debian/control
debian/copyright
debian/libcereal-dev.docs
debian/libcereal-dev.install
debian/libcereal-doc.doc-base
debian/libcereal-doc.install
debian/patches/add-only-tests-target
debian/patches/drop-google-analytics
debian/patches/reproducible-doxygen
debian/patches/series
debian/patches/use_debian_packaged_rapidjson.patch
debian/rules
debian/salsa-ci.yml
debian/source/format
debian/tests/control
debian/tests/run-unit-test
debian/upstream/metadata
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..90657cf6886cca928525b0fedab4237427bab90f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++Notes on how this package can be tested.
++────────────────────────────────────────
++
++This package can be tested by running the provided test:
++
++    sh run-unit-test
++
++in order to confirm its integrity.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4bd0a521ca8d4d5e2af98a45383632542125cdac
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,122 @@@
++libcereal (1.3.0+dfsg-1) unstable; urgency=medium
++
++  [ Andreas Tille ]
++  * Team upload.
++  * Standards-Version: 4.5.1 (routine-update)
++  * debhelper-compat 13 (routine-update)
++  * Add salsa-ci file (routine-update)
++  * Rules-Requires-Root: no (routine-update)
++  * watch file standard 4 (routine-update)
++  * install from debian/tmp to enable dh_missing --fail-missing
++  * install cmake file
++  * Remove code copy of rapidjson and use Debian packaged code instead
++    Closes: #976585
++
++  [ Michael R. Crusoe ]
++  * debian/patches/{reproducible-doxygen,drop-google-analytics}:
++    doesn't need forwarding upstream.
++
++ -- Michael R. Crusoe <crusoe@debian.org>  Wed, 13 Jan 2021 10:20:13 +0100
++
++libcereal (1.3.0-3) unstable; urgency=medium
++
++  * libcereal-dev: Convert to Architecture: all, saves space and eases
++    cross-building
++  * Mark -dev and -doc as Multi-Arch: foreign
++  * Tweak the doxygen patch to make the build reproducible
++  * Standards-Version: 4.5.0 (routine-update)
++  * Use secure URI in Homepage field.
++  * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository,
++    Repository-Browse.
++
++ -- Michael R. Crusoe <michael.crusoe@gmail.com>  Fri, 28 Feb 2020 17:26:41 +0100
++
++libcereal (1.3.0-2) unstable; urgency=medium
++
++  * debian/ruiles: Work around build failures on platforms without processor
++    intrinsics for atomic operations
++
++ -- Michael R. Crusoe <michael.crusoe@gmail.com>  Mon, 28 Oct 2019 14:19:21 +0100
++
++libcereal (1.3.0-1) unstable; urgency=medium
++
++  * New upstream version
++  * debhelper-compat 12
++  * Standards-Version: 4.4.0
++
++ -- Michael R. Crusoe <michael.crusoe@gmail.com>  Sun, 27 Oct 2019 17:23:31 +0100
++
++libcereal (1.2.2-3) unstable; urgency=medium
++
++  * Team upload.
++  * Do not try to change non-existing files in binary all builds
++    Closes: #916969
++
++ -- Andreas Tille <tille@debian.org>  Thu, 20 Dec 2018 22:34:59 +0100
++
++libcereal (1.2.2-2) unstable; urgency=medium
++
++  * Team upload.
++  * Fix autopkgtest
++    Closes: #911261
++  * Normalise autopkgtest (as in other Debian Med packages)
++  * debhelper 11
++  * Remove trailing whitespace in debian/changelog
++
++ -- Andreas Tille <tille@debian.org>  Thu, 20 Dec 2018 15:07:17 +0100
++
++libcereal (1.2.2-1) unstable; urgency=medium
++
++  * New upstream release.
++
++ -- Michael R. Crusoe <michael.crusoe@gmail.com>  Wed, 17 Oct 2018 02:06:26 -0700
++
++libcereal (1.2.1-3) unstable; urgency=medium
++
++  * Team upload
++  * Do not set -Werror which makes build fail when using gcc-7
++    Closes: #853486
++  * debhelper 10
++  * Standards-Version: 4.1.0 (no changes needed)
++
++ -- Andreas Tille <tille@debian.org>  Thu, 31 Aug 2017 23:28:27 +0200
++
++libcereal (1.2.1-2) unstable; urgency=medium
++
++  * Make Doxygen docs reproducible.
++
++ -- Michael R. Crusoe <michael.crusoe@gmail.com>  Thu, 10 Nov 2016 04:01:18 -0800
++
++libcereal (1.2.1-1) unstable; urgency=medium
++
++  * New upstream release with support for g++ 6 (Closes: #834187)
++  * Drop arm compatibility patch as it was incorporated upstream
++
++ -- Michael R. Crusoe <michael.crusoe@gmail.com>  Sun, 14 Aug 2016 02:11:45 -0700
++
++libcereal (1.1.2-4) unstable; urgency=medium
++
++  * Drop multilib builddeb (Closes: #814530)
++
++ -- Michael R. Crusoe <crusoe@ucdavis.edu>  Fri, 12 Feb 2016 16:27:13 -0800
++
++libcereal (1.1.2-3) unstable; urgency=medium
++
++  * Applied patch from upstream, try building on all archs again.
++
++ -- Michael R. Crusoe <crusoe@ucdavis.edu>  Thu, 11 Feb 2016 14:04:10 -0800
++
++libcereal (1.1.2-2) unstable; urgency=medium
++
++  * Only build for *-amd64, sparc64 until upstream fixes their code.
++  (Closes: # 813280, #813281, #813282)
++  * Added autopkgtest
++  * Fix Vcs-Git URL.
++
++ -- Michael R. Crusoe <crusoe@ucdavis.edu>  Sun, 31 Jan 2016 00:19:40 -0800
++
++libcereal (1.1.2-1) unstable; urgency=low
++
++  * Initial release (Closes: #800335)
++
++ -- Michael R. Crusoe <crusoe@ucdavis.edu>  Fri, 18 Sep 2015 19:13:43 -0700
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4a0845302da5138c7c1912200088fb097f2a0285
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,42 @@@
++Source: libcereal
++Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
++Uploaders: Michael R. Crusoe <crusoe@debian.org>
++Section: libdevel
++Priority: optional
++Build-Depends: debhelper-compat (= 13),
++               libboost-serialization-dev,
++               libboost-test-dev,
++               rapidjson-dev,
++               cmake,
++               doxygen
++Standards-Version: 4.5.1
++Vcs-Browser: https://salsa.debian.org/med-team/libcereal
++Vcs-Git: https://salsa.debian.org/med-team/libcereal.git
++Homepage: https://uscilab.github.io/cereal/
++Rules-Requires-Root: no
++
++Package: libcereal-dev
++Multi-Arch: foreign
++Architecture: all
++Depends: ${misc:Depends},
++         rapidjson-dev
++Description: C++11 library for serialization
++ cereal is a header-only C++11 serialization library. cereal takes arbitrary
++ data types and reversibly turns them into different representations, such as
++ compact binary encodings, XML, or JSON. cereal was designed to be fast,
++ light-weight, and easy to extend - it has no external dependencies and can be
++ easily bundled with other code or used standalone.
++
++Package: libcereal-doc
++Architecture: all
++Multi-Arch: foreign
++Section: doc
++Depends: ${misc:Depends}
++Description: C++11 library for serialization HTML documentation
++ cereal is a header-only C++11 serialization library. cereal takes arbitrary
++ data types and reversibly turns them into different representations, such as
++ compact binary encodings, XML, or JSON. cereal was designed to be fast,
++ light-weight, and easy to extend - it has no external dependencies and can be
++ easily bundled with other code or used standalone.
++ .
++ This package contains the HTML documentation.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4abb0c8727e7a3c536fcfb0a598c4836f6461304
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,104 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: cereal
++Source: https://github.com/USCiLab/cereal
++Files-Excluded: include/cereal/external/rapidjson
++
++Files: *
++Copyright: (c) 2014, Randolph Voorhies, Shane Grant
++License: bsd-3-clause
++
++Files: include/cereal/external/base64.hpp
++Copyright: (C) 2004-2008 René Nyffenegger
++License: other
++   This source code is provided 'as-is', without any express or implied
++   warranty. In no event will the author be held liable for any damages
++   arising from the use of this software.
++ .
++   Permission is granted to anyone to use this software for any purpose,
++   including commercial applications, and to alter it and redistribute it
++   freely, subject to the following restrictions:
++ .
++   1. The origin of this source code must not be misrepresented; you must not
++      claim that you wrote the original source code. If you use this source code
++      in a product, an acknowledgment in the product documentation would be
++      appreciated but is not required.
++ .
++   2. Altered source versions must be plainly marked as such, and must not be
++      misrepresented as being the original source code.
++ .
++   3. This notice may not be removed or altered from any source distribution.
++ .
++   René Nyffenegger rene.nyffenegger@adp-gmbh.ch
++
++Files: include/cereal/external/rapidxml/*
++Copyright: Copyright (c) 2006, 2007, 2009 Marcin Kalicinski
++License: BSL-1.0 or Expat
++
++Files: debian/*
++Copyright: © 2015 Michael R. Crusoe <crusoe@ucdavis.edu>
++License: bsd-3-clause
++
++License: BSL-1.0
++ Permission is hereby granted, free of charge, to any person or organization
++ obtaining a copy of the software and accompanying documentation covered by
++ this license (the "Software") to use, reproduce, display, distribute,
++ execute, and transmit the Software, and to prepare derivative works of the
++ Software, and to permit third-parties to whom the Software is furnished to
++ do so, all subject to the following:
++ .
++ The copyright notices in the Software and this entire statement, including
++ the above license grant, this restriction and the following disclaimer,
++ must be included in all copies of the Software, in whole or in part, and
++ all derivative works of the Software, unless such copies or derivative
++ works are solely in the form of machine-executable object code generated by
++ a source language processor.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
++ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
++ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
++ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
++
++License: Expat
++ Permission is hereby granted, free of charge, to any person obtaining a copy
++ of this software and associated documentation files (the "Software"), to deal
++ in the Software without restriction, including without limitation the rights
++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ copies of the Software, and to permit persons to whom the Software is
++ furnished to do so, subject to the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included in
++ all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++ THE SOFTWARE.
++
++License: bsd-3-clause
++ 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 cereal 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 RANDOLPH VOORHIES OR SHANE GRANT 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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4456dc18adf8872fa89effb147b52e7ba03c4b4b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++debian/tests/run-unit-test
++debian/README.test
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..49538fa6026bc060b4b1ef771902f5339938277c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/include
++CMakeLists.txt usr/share/doc/libcereal-dev/tests/
++unittests usr/share/doc/libcereal-dev/tests/
++usr/share/cmake/cereal
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6884491bc014023aca1b0ebef903ae4c986d66a5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++Document: libcereal
++Title: cereal - C++11 library for serialization
++Author: Randolph Voorhies, Shane Grant
++Abstract: cereal is a header-only C++11 serialization library. cereal takes
++ arbitrary data types and reversibly turns them into different representations,
++ such as compact binary encodings, XML, or JSON. cereal was designed to be
++ fast, light-weight, and easy to extend - it has no external dependencies and
++ can be easily bundled with other code or used standalone.
++Section: Programming/C++
++
++Format: html
++Files: /usr/share/doc/libcereal-dev/html/*
++Index: /usr/share/doc/libcereal-dev/html/index.html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..68a97869da9a971270f71344b605dcb19076c475
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++obj-*/doc/html usr/share/doc/libcereal-dev/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a2286f7a2b9c661d5d12718fadcc559ac65de5ba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++Author: Michael R. Crusoe <crusoe@ucdavis.edu>
++Description: build just the tests, as an option for autopkgtest later
++With assistance from Kevin D. Murray; thanks!
++--- libcereal.orig/CMakeLists.txt
+++++ libcereal/CMakeLists.txt
++@@ -46,6 +46,8 @@
++ 
++ endif()
++ 
+++option(ONLY_TESTS "Don't build docs, or sandbox" OFF)
+++
++ if(NOT CMAKE_VERSION VERSION_LESS 3.0)
++     add_library(cereal INTERFACE)
++     target_include_directories(cereal INTERFACE
++@@ -78,7 +80,8 @@
++   
++ enable_testing()
++ add_subdirectory(unittests)
++-
++-add_subdirectory(sandbox)
+++if(NOT ONLY_TEST)
+++     add_subdirectory(sandbox)
+++endif(NOT ONLY_TEST)
++ 
++ add_subdirectory(doc)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cdc08d769a6f8291841a2982c643f40935cc5fe5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,21 @@@
++Description: Drop google analytics
++Author: Michael R. Crusoe <crusoe@debian.org>
++Forwarded: not-needed
++--- libcereal.orig/doc/footer.html
+++++ libcereal/doc/footer.html
++@@ -17,15 +17,5 @@
++ </a> $doxygenversion
++ </small></address>
++ <!--END !GENERATE_TREEVIEW-->
++-<script>
++-  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
++-  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
++-  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
++-  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
++-
++-  ga('create', 'UA-42360142-1', 'uscilab.github.io');
++-  ga('send', 'pageview');
++-
++-</script>
++ </body>
++ </html>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6526294cb206909ec20d4595a36091df71ee7917
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++From: Michael R. Crusoe <crusoe@debian.org>
++Subject: Make doxygen docs reproducible
++Forwarded: not-needed
++--- libcereal.orig/doc/doxygen.in
+++++ libcereal/doc/doxygen.in
++@@ -119,7 +119,7 @@
++ # path before files name in the file list and in the header files. If set
++ # to NO the shortest path that makes the file name unique will be used.
++ 
++-FULL_PATH_NAMES        = YES
+++FULL_PATH_NAMES        = NO
++ 
++ # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
++ # can be used to strip a user-defined part of the path. Stripping is
++@@ -130,7 +130,7 @@
++ # relative paths, which will be relative from the directory where doxygen is
++ # started.
++ 
++-STRIP_FROM_PATH        =
+++STRIP_FROM_PATH        = @PROJECT_SOURCE_DIR@
++ 
++ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
++ # the path mentioned in the documentation of a class, which tells
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..79e6a9ee94fa5f58848ff4b2cc30be8fe13fc63d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++reproducible-doxygen
++drop-google-analytics
++add-only-tests-target
++use_debian_packaged_rapidjson.patch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..12f5fcc7c0c2a2bfed3dc3a1d1b7bb0109f849eb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,104 @@@
++Author: Andreas Tille <tille@debian.org>
++Last-Update: Sat, 05 Dec 2020 17:12:21 +0100
++Bug-Debian: https://bugs.debian.org/976585
++Description: Include Debian packaged rapidjson
++Forwarded: not-needed
++--- a/include/cereal/archives/json.hpp
+++++ b/include/cereal/archives/json.hpp
++@@ -41,30 +41,30 @@ namespace cereal
++ }
++ 
++ // Inform rapidjson that assert will throw
++-#ifndef CEREAL_RAPIDJSON_ASSERT_THROWS
++-#define CEREAL_RAPIDJSON_ASSERT_THROWS
++-#endif // CEREAL_RAPIDJSON_ASSERT_THROWS
+++#ifndef RAPIDJSON_ASSERT_THROWS
+++#define RAPIDJSON_ASSERT_THROWS
+++#endif // RAPIDJSON_ASSERT_THROWS
++ 
++ // Override rapidjson assertions to throw exceptions by default
++-#ifndef CEREAL_RAPIDJSON_ASSERT
++-#define CEREAL_RAPIDJSON_ASSERT(x) if(!(x)){ \
+++#ifndef RAPIDJSON_ASSERT
+++#define RAPIDJSON_ASSERT(x) if(!(x)){ \
++   throw ::cereal::RapidJSONException("rapidjson internal assertion failure: " #x); }
++ #endif // RAPIDJSON_ASSERT
++ 
++ // Enable support for parsing of nan, inf, -inf
++-#ifndef CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS
++-#define CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS kWriteNanAndInfFlag
+++#ifndef RAPIDJSON_WRITE_DEFAULT_FLAGS
+++#define RAPIDJSON_WRITE_DEFAULT_FLAGS kWriteNanAndInfFlag
++ #endif
++ 
++ // Enable support for parsing of nan, inf, -inf
++-#ifndef CEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS
++-#define CEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS kParseFullPrecisionFlag | kParseNanAndInfFlag
+++#ifndef RAPIDJSON_PARSE_DEFAULT_FLAGS
+++#define RAPIDJSON_PARSE_DEFAULT_FLAGS kParseFullPrecisionFlag | kParseNanAndInfFlag
++ #endif
++ 
++-#include "cereal/external/rapidjson/prettywriter.h"
++-#include "cereal/external/rapidjson/ostreamwrapper.h"
++-#include "cereal/external/rapidjson/istreamwrapper.h"
++-#include "cereal/external/rapidjson/document.h"
+++#include "rapidjson/prettywriter.h"
+++#include "rapidjson/ostreamwrapper.h"
+++#include "rapidjson/istreamwrapper.h"
+++#include "rapidjson/document.h"
++ #include "cereal/external/base64.hpp"
++ 
++ #include <limits>
++@@ -107,8 +107,8 @@ namespace cereal
++   {
++     enum class NodeType { StartObject, InObject, StartArray, InArray };
++ 
++-    using WriteStream = CEREAL_RAPIDJSON_NAMESPACE::OStreamWrapper;
++-    using JSONWriter = CEREAL_RAPIDJSON_NAMESPACE::PrettyWriter<WriteStream>;
+++    using WriteStream = RAPIDJSON_NAMESPACE::OStreamWrapper;
+++    using JSONWriter = RAPIDJSON_NAMESPACE::PrettyWriter<WriteStream>;
++ 
++     public:
++       /*! @name Common Functionality
++@@ -255,7 +255,7 @@ namespace cereal
++       //! Saves a double to the current node
++       void saveValue(double d)              { itsWriter.Double(d);                                                       }
++       //! Saves a string to the current node
++-      void saveValue(std::string const & s) { itsWriter.String(s.c_str(), static_cast<CEREAL_RAPIDJSON_NAMESPACE::SizeType>( s.size() )); }
+++      void saveValue(std::string const & s) { itsWriter.String(s.c_str(), static_cast<RAPIDJSON_NAMESPACE::SizeType>( s.size() )); }
++       //! Saves a const char * to the current node
++       void saveValue(char const * s)        { itsWriter.String(s);                                                       }
++       //! Saves a nullptr to the current node
++@@ -419,11 +419,11 @@ namespace cereal
++   class JSONInputArchive : public InputArchive<JSONInputArchive>, public traits::TextArchive
++   {
++     private:
++-      using ReadStream = CEREAL_RAPIDJSON_NAMESPACE::IStreamWrapper;
++-      typedef CEREAL_RAPIDJSON_NAMESPACE::GenericValue<CEREAL_RAPIDJSON_NAMESPACE::UTF8<>> JSONValue;
+++      using ReadStream = RAPIDJSON_NAMESPACE::IStreamWrapper;
+++      typedef RAPIDJSON_NAMESPACE::GenericValue<RAPIDJSON_NAMESPACE::UTF8<>> JSONValue;
++       typedef JSONValue::ConstMemberIterator MemberIterator;
++       typedef JSONValue::ConstValueIterator ValueIterator;
++-      typedef CEREAL_RAPIDJSON_NAMESPACE::Document::GenericValue GenericValue;
+++      typedef RAPIDJSON_NAMESPACE::Document::GenericValue GenericValue;
++ 
++     public:
++       /*! @name Common Functionality
++@@ -652,7 +652,7 @@ namespace cereal
++       //! Loads a value from the current node - string overload
++       void loadValue(std::string & val) { search(); val = itsIteratorStack.back().value().GetString(); ++itsIteratorStack.back(); }
++       //! Loads a nullptr from the current node
++-      void loadValue(std::nullptr_t&)   { search(); CEREAL_RAPIDJSON_ASSERT(itsIteratorStack.back().value().IsNull()); ++itsIteratorStack.back(); }
+++      void loadValue(std::nullptr_t&)   { search(); RAPIDJSON_ASSERT(itsIteratorStack.back().value().IsNull()); ++itsIteratorStack.back(); }
++ 
++       // Special cases to handle various flavors of long, which tend to conflict with
++       // the int32_t or int64_t on various compiler/OS combinations.  MSVC doesn't need any of this.
++@@ -732,7 +732,7 @@ namespace cereal
++       const char * itsNextName;               //!< Next name set by NVP
++       ReadStream itsReadStream;               //!< Rapidjson write stream
++       std::vector<Iterator> itsIteratorStack; //!< 'Stack' of rapidJSON iterators
++-      CEREAL_RAPIDJSON_NAMESPACE::Document itsDocument; //!< Rapidjson document
+++      RAPIDJSON_NAMESPACE::Document itsDocument; //!< Rapidjson document
++   };
++ 
++   // ######################################################################
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..63774a889880182f0c4dc6688130c5a7ca28af47
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++#!/usr/bin/make -f
++
++ifneq (,$(filter $(DEB_HOST_ARCH),armel m68k mips mipsel powerpc sh4))
++  EXTRA=-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic
++endif
++
++%:
++      dh $@
++
++override_dh_auto_configure:
++      dh_auto_configure -- -DSKIP_PORTABILITY_TEST=on $(EXTRA)
++
++override_dh_auto_build:
++      dh_auto_build -- all doc
++
++override_dh_install:
++      dh_install --exclude license
++      find debian/*/usr/share/doc -name CMakeLists.txt -exec sed -i '/add_subdirectory(doc)/d' \{\} \;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..33c3a640d2a84306b6a8b5640692ac3481739e65
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++---
++include:
++  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
++  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..199fb5e0792c5966e43def6a60267000c118e7ad
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++Tests: run-unit-test
++Depends: @, @builddeps@
++Restrictions: allow-stderr
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..765bdc502f839668e24b56030d59377d2b229144
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++#!/bin/sh
++
++pkg=libcereal-dev
++
++if [ "$AUTOPKGTEST_TMP" = "" ] ; then
++  AUTOPKGTEST_TMP=`mktemp -d /tmp/${pkg}-test.XXXXXX`
++  trap "rm -rf $AUTOPKGTEST_TMP" 0 INT QUIT ABRT PIPE TERM
++fi
++
++cd $AUTOPKGTEST_TMP
++
++cp -rs /usr/share/doc/${pkg}/tests/* .
++for file in `find . -name "*.gz"`; do gunzip < ${file} > ${file%%.gz}; done
++cmake -DONLY_TEST=on -DSKIP_PORTABILITY_TEST=on .
++make
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5b7b9b2a30b87abf2ed559de47f0a3215d0aec99
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++Bug-Database: https://github.com/USCiLab/cereal/issues
++Bug-Submit: https://github.com/USCiLab/cereal/issues/new
++Repository: https://github.com/USCiLab/cereal.git
++Repository-Browse: https://github.com/USCiLab/cereal
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5bbfdfb297a8311c97397c1847e37cc3c767cfba
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++version=4
++
++opts="repacksuffix=+dfsg,dversionmangle=auto,repack,compression=xz,filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/libcereal-$1\.tar\.gz/" \
++  https://github.com/USCiLab/cereal/releases .*/archive/v(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz)