Date: Sunday, October 17, 2021 @ 22:03:42 Author: arojas Revision: 1030780
Use native C++17 types Added: opentimelineio/trunk/opentimelineio-c++17.patch Modified: opentimelineio/trunk/PKGBUILD ----------------------------+ PKGBUILD | 14 ++++--- opentimelineio-c++17.patch | 84 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+), 6 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-10-17 19:50:18 UTC (rev 1030779) +++ PKGBUILD 2021-10-17 22:03:42 UTC (rev 1030780) @@ -2,25 +2,27 @@ pkgname=opentimelineio pkgver=0.13 -pkgrel=3 +pkgrel=4 pkgdesc='Open Source API and interchange format for editorial timeline information' url='http://opentimeline.io/' license=(Apache) arch=(x86_64) depends=(python-aaf2) -makedepends=(cmake optional-lite python-pip pybind11 git) +makedepends=(cmake python-pip pybind11 git) source=(https://github.com/PixarAnimationStudios/OpenTimelineIO/archive/v$pkgver/$pkgname-$pkgver.tar.gz - git+https://github.com/thelink2012/any#commit=69753a5 - git+https://github.com/Tencent/rapidjson#commit=66eb606) + git+https://github.com/Tencent/rapidjson#commit=66eb606 + opentimelineio-c++17.patch) sha256sums=('33a63891b4656804242512e122b33ed12e35d4038fd78610ccb82b441b9506dd' 'SKIP' - 'SKIP') + '927675021a15d0fde97697e1b7a7312e0ee64f628cb5a09716edf972870d0cbc') prepare() { - mv any rapidjson OpenTimelineIO-$pkgver/src/deps + mv rapidjson OpenTimelineIO-$pkgver/src/deps sed -e '/deps/d' -i OpenTimelineIO-$pkgver/src/CMakeLists.txt # Unbundle pybind11 sed -e '1 i\find_package(pybind11)' -i OpenTimelineIO-$pkgver/src/py-opentimelineio/opentime-bindings/CMakeLists.txt \ -i OpenTimelineIO-$pkgver/src/py-opentimelineio/opentimelineio-bindings/CMakeLists.txt + + patch -d OpenTimelineIO-$pkgver -p1 < opentimelineio-c++17.patch # Use native C++17 types } build() { Added: opentimelineio-c++17.patch =================================================================== --- opentimelineio-c++17.patch (rev 0) +++ opentimelineio-c++17.patch 2021-10-17 22:03:42 UTC (rev 1030780) @@ -0,0 +1,84 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3325465..5a7f495 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,6 +1,6 @@ + cmake_minimum_required(VERSION 3.9.4) + +-set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + +@@ -8,8 +8,8 @@ if(MSVC) + set(PYBIND11_CPP_STANDARD /std:c++14) + set(CMAKE_CXX_FLAGS "/W4 /EHsc") + else() +- set(PYBIND11_CPP_STANDARD -std=c++11) +- set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wno-deprecated-register") ++ set(PYBIND11_CPP_STANDARD -std=c++17) ++ set(CMAKE_CXX_FLAGS "-std=c++17 -Wall -Wno-deprecated-register") + endif() + + # make sure that git submodules are up to date when building +diff --git a/src/opentimelineio/any.h b/src/opentimelineio/any.h +index 2250eb1..b8c2634 100644 +--- a/src/opentimelineio/any.h ++++ b/src/opentimelineio/any.h +@@ -1,12 +1,12 @@ + #pragma once + +-#include "any/any.hpp" ++#include <any> + #include "opentimelineio/version.h" + + namespace opentimelineio { namespace OPENTIMELINEIO_VERSION { + +-using linb::any; +-using linb::any_cast; ++using std::any; ++using std::any_cast; + + } } + +diff --git a/src/opentimelineio/optional.h b/src/opentimelineio/optional.h +index 7b6f110..288aea0 100644 +--- a/src/opentimelineio/optional.h ++++ b/src/opentimelineio/optional.h +@@ -1,13 +1,13 @@ + #pragma once + +-#include "nonstd/optional.hpp" ++#include <optional> + #include "opentimelineio/version.h" + + namespace opentimelineio { namespace OPENTIMELINEIO_VERSION { + +-using nonstd::optional; +-using nonstd::nullopt; +-using nonstd::nullopt_t; ++using std::optional; ++using std::nullopt; ++using std::nullopt_t; + + } } + +diff --git a/src/py-opentimelineio/opentimelineio-bindings/otio_utils.h b/src/py-opentimelineio/opentimelineio-bindings/otio_utils.h +index d647160..12bf3bc 100644 +--- a/src/py-opentimelineio/opentimelineio-bindings/otio_utils.h ++++ b/src/py-opentimelineio/opentimelineio-bindings/otio_utils.h +@@ -14,14 +14,6 @@ using namespace opentimelineio::OPENTIMELINEIO_VERSION; + + void install_external_keepalive_monitor(SerializableObject* so, bool apply_now); + +-namespace pybind11 { namespace detail { +- template<typename T> struct type_caster<optional<T>> +- : public optional_caster<optional<T>> {}; +- +- template<> struct type_caster<nullopt_t> +- : public void_caster<nullopt_t> {}; +-}} +- + template <typename T> + struct managing_ptr { + managing_ptr(T* ptr)
