From b759049a36728d18260963799a56e6b19cb4a2ef Mon Sep 17 00:00:00 2001 From: Stanislav Ershov Date: Tue, 26 Jan 2021 04:53:02 +0500 Subject: [PATCH] [angelscript] Update to 2.35.0 (#15852) * [angelscript] Update to 2.35.0 * Update version * Fix formatting * Update version * [angelscript] backport patch from trunk * Update version --- ports/angelscript/CONTROL | 7 --- ports/angelscript/portfile.cmake | 10 ++-- ports/angelscript/precxx11.patch | 78 ++++++++++++++++++++++++++++++++ ports/angelscript/vcpkg.json | 12 +++++ versions/a-/angelscript.json | 5 ++ versions/baseline.json | 2 +- 6 files changed, 103 insertions(+), 11 deletions(-) delete mode 100644 ports/angelscript/CONTROL create mode 100644 ports/angelscript/precxx11.patch create mode 100644 ports/angelscript/vcpkg.json diff --git a/ports/angelscript/CONTROL b/ports/angelscript/CONTROL deleted file mode 100644 index fee238c1ed..0000000000 --- a/ports/angelscript/CONTROL +++ /dev/null @@ -1,7 +0,0 @@ -Source: angelscript -Version: 2.34.0 -Description: The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer. -Supports: !arm - -Feature: addons -Description: Installs all addons for use in compiling scripts addons diff --git a/ports/angelscript/portfile.cmake b/ports/angelscript/portfile.cmake index a90f361bbb..ab35b4c1b8 100644 --- a/ports/angelscript/portfile.cmake +++ b/ports/angelscript/portfile.cmake @@ -1,7 +1,9 @@ +vcpkg_fail_port_install(ON_ARCH "arm") + vcpkg_download_distfile(ARCHIVE - URLS "https://angelcode.com/angelscript/sdk/files/angelscript_2.34.0.zip" - FILENAME "angelscript_2.34.0.zip" - SHA512 c26dba452ab52c300da9c95fde8398acf4840cbc0e653ededf978d4a3e942cfe5b77292c74c49dc0279250a27cfd324c696c49d139a97c844b2a1eead9aae2f4 + URLS "https://angelcode.com/angelscript/sdk/files/angelscript_2.35.0.zip" + FILENAME "angelscript_2.35.0.zip" + SHA512 e54b58e78b21c2ff6aa34d5f55b18fcf8737d057c86aef8901ac0c11f14739fe7f1494f9bcfdbca6a8e54b6d0b36a04dd098780bcd02dea5764fd6d22984b6b0 ) vcpkg_extract_source_archive_ex( @@ -9,6 +11,7 @@ vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} PATCHES mark-threads-private.patch + precxx11.patch ) vcpkg_configure_cmake( @@ -17,6 +20,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Angelscript) diff --git a/ports/angelscript/precxx11.patch b/ports/angelscript/precxx11.patch new file mode 100644 index 0000000000..bd4a93325e --- /dev/null +++ b/ports/angelscript/precxx11.patch @@ -0,0 +1,78 @@ +commit 4684264c7ed39ff397f9c38c64370284ddac44b0 +Author: angelcode +Date: Thu Dec 10 19:13:44 2020 +0000 + + Changed code to be compatible with pre-C++11 + + git-svn-id: https://svn.code.sf.net/p/angelscript/code/trunk@2686 404ce1b2-830e-0410-a2e2-b09542c77caf + +diff --git a/angelscript/source/as_module.cpp b/angelscript/source/as_module.cpp +index 5ec55423..ddd3ed73 100644 +--- a/angelscript/source/as_module.cpp ++++ b/angelscript/source/as_module.cpp +@@ -1536,28 +1536,28 @@ int asCModule::UnbindAllImportedFunctions() + void asCModule::AddClassType(asCObjectType* type) + { + m_classTypes.PushLast(type); +- m_typeLookup.Insert({type->nameSpace, type->name}, type); ++ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); + } + + // internal + void asCModule::AddEnumType(asCEnumType* type) + { + m_enumTypes.PushLast(type); +- m_typeLookup.Insert({type->nameSpace, type->name}, type); ++ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); + } + + // internal + void asCModule::AddTypeDef(asCTypedefType* type) + { + m_typeDefs.PushLast(type); +- m_typeLookup.Insert({type->nameSpace, type->name}, type); ++ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); + } + + // internal + void asCModule::AddFuncDef(asCFuncdefType* type) + { + m_funcDefs.PushLast(type); +- m_typeLookup.Insert({type->nameSpace, type->name}, type); ++ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); + } + + // internal +@@ -1569,8 +1569,8 @@ void asCModule::ReplaceFuncDef(asCFuncdefType* type, asCFuncdefType* newType) + m_funcDefs[i] = newType; + + // Replace it in the lookup map too +- asSMapNode* result = nullptr; +- if(m_typeLookup.MoveTo(&result, {type->nameSpace, type->name})) ++ asSMapNode* result = 0; ++ if(m_typeLookup.MoveTo(&result, asSNameSpaceNamePair(type->nameSpace, type->name))) + { + asASSERT( result->value == type ); + result->value = newType; +@@ -1581,8 +1581,8 @@ void asCModule::ReplaceFuncDef(asCFuncdefType* type, asCFuncdefType* newType) + // internal + asCTypeInfo *asCModule::GetType(const asCString &type, asSNameSpace *ns) const + { +- asSMapNode* result = nullptr; +- if(m_typeLookup.MoveTo(&result, {ns, type})) ++ asSMapNode* result = 0; ++ if(m_typeLookup.MoveTo(&result, asSNameSpaceNamePair(ns, type))) + { + return result->value; + } +@@ -1592,8 +1592,8 @@ asCTypeInfo *asCModule::GetType(const asCString &type, asSNameSpace *ns) const + // internal + asCObjectType *asCModule::GetObjectType(const char *type, asSNameSpace *ns) const + { +- asSMapNode* result = nullptr; +- if(m_typeLookup.MoveTo(&result, {ns, type})) ++ asSMapNode* result = 0; ++ if(m_typeLookup.MoveTo(&result, asSNameSpaceNamePair(ns, type))) + { + return CastToObjectType(result->value); + } diff --git a/ports/angelscript/vcpkg.json b/ports/angelscript/vcpkg.json new file mode 100644 index 0000000000..57d2d13a2c --- /dev/null +++ b/ports/angelscript/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "angelscript", + "version-string": "2.35.0", + "description": "The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer.", + "homepage": "https://angelcode.com/angelscript", + "supports": "!arm", + "features": { + "addons": { + "description": "Installs all addons for use in compiling scripts addons" + } + } +} diff --git a/versions/a-/angelscript.json b/versions/a-/angelscript.json index a18118eb2a..df90ac02f5 100644 --- a/versions/a-/angelscript.json +++ b/versions/a-/angelscript.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c88c2eec1943cd3f46d8fe2b77f4d75f3d35cba2", + "version-string": "2.35.0", + "port-version": 0 + }, { "git-tree": "bca26a9780ffe5a26b45abb86e05603a4eec0719", "version-string": "2.34.0", diff --git a/versions/baseline.json b/versions/baseline.json index 3b18e13c2a..ad344df5b8 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -73,7 +73,7 @@ "port-version": 0 }, "angelscript": { - "baseline": "2.34.0", + "baseline": "2.35.0", "port-version": 0 }, "angle": {